
/* WARNING: Type propagation algorithm not settling */

int fts5DecodeDoclist(int *pRc,Fts5Buffer *pBuf,u8 *a,int n)

{
  undefined *puVar1;
  undefined *puVar2;
  sqlite3 *psVar3;
  uint uVar4;
  Vdbe *pVVar5;
  undefined4 uVar6;
  sqlite3 *psVar7;
  Fts5Parse *pFVar8;
  int iVar9;
  char *pcVar10;
  sqlite3 **ppsVar11;
  uint uVar12;
  sqlite3 *psVar13;
  int *piVar14;
  void *pvVar15;
  Fts5Buffer *pFVar16;
  u8 *puVar17;
  Fts5Parse *ap;
  sqlite3 **ppsVar18;
  sqlite3 **ppsVar19;
  int iVar20;
  sqlite3 *psVar21;
  int *piVar22;
  Fts5Config *pFVar23;
  char **ppcVar24;
  int iVar25;
  undefined *puVar26;
  undefined *unaff_s0;
  int *piVar27;
  undefined4 *puVar28;
  int iVar29;
  u8 *unaff_s3;
  u32 *puVar30;
  sqlite3 *psVar31;
  u32 unaff_s4;
  sqlite3 *psVar32;
  int *unaff_s5;
  int *unaff_s6;
  i64 *unaff_s7;
  undefined *puVar33;
  code *pcVar34;
  code *pcVar35;
  undefined *puVar36;
  int iVar37;
  code *pcVar38;
  code *pcVar39;
  undefined8 uVar40;
  sqlite3 *psStack_190;
  sqlite3 *psStack_18c;
  code *pcStack_188;
  Fts5Parse *pFStack_180;
  int iStack_17c;
  Fts5Buffer *pFStack_174;
  code *pcStack_170;
  code *pcStack_16c;
  Fts5Parse FStack_160;
  undefined *puStack_148;
  code *pcStack_13c;
  sqlite3 *psStack_138;
  code *pcStack_134;
  int *piStack_130;
  sqlite3 *psStack_12c;
  sqlite3 *psStack_128;
  sqlite3 *psStack_124;
  code *pcStack_120;
  code *pcStack_11c;
  int iStack_118;
  sqlite3 *psStack_114;
  Fts5Parse *pFStack_110;
  sqlite3 *psStack_10c;
  sqlite3 *psStack_108;
  sqlite3 *psStack_104;
  Fts5Buffer FStack_100;
  sqlite3 *psStack_f4;
  Vdbe *pVStack_f0;
  sqlite3 *psStack_e8;
  sqlite3 *psStack_e4;
  CollSeq *pCStack_e0;
  sqlite3_mutex *psStack_dc;
  sqlite3 *psStack_d8;
  int iStack_d4;
  sqlite3 *psStack_d0;
  uint uStack_cc;
  int iStack_c4;
  undefined *puStack_c0;
  int *piStack_bc;
  Fts5Buffer *pFStack_b8;
  u8 *puStack_b4;
  u32 uStack_b0;
  int *piStack_ac;
  int *piStack_a8;
  i64 *piStack_a4;
  undefined *puStack_a0;
  code *pcStack_9c;
  sqlite3 *psStack_88;
  uint uStack_84;
  int nPos;
  int bDel;
  i64 iDocid;
  i64 iDelta;
  void *pvStack_2c;
  
  puVar2 = PTR___stack_chk_guard_00190e24;
  puVar33 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
  iDocid._4_4_ = 0;
  iDocid._0_4_ = (sqlite3 *)0x0;
  pvStack_2c = *(void **)PTR___stack_chk_guard_00190e24;
  puVar36 = (undefined *)0x0;
  psVar7 = (sqlite3 *)a;
  psVar31 = (sqlite3 *)n;
  puStack_b4 = unaff_s3;
  uStack_b0 = unaff_s4;
  if (0 < n) {
    pcVar38 = (code *)(PTR_LAB_00190b40 + -0x80);
    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
    puVar36 = (undefined *)(*pcVar38)(a,&iDocid);
    unaff_s0 = PTR_LAB_00190c2c;
    psVar7 = (sqlite3 *)(puVar26 + -0x4cdc);
    uStack_84 = iDocid._4_4_;
    psStack_88 = iDocid._0_4_;
    pcVar35 = (code *)(PTR_LAB_00190c2c + 0x7b38);
    sqlite3Fts5BufferAppendPrintf(pRc,pBuf,(char *)psVar7);
    puVar1 = PTR_LAB_00190ba4;
    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
    puStack_b4 = a;
    uStack_b0 = n;
    if ((int)puVar36 < n) {
      unaff_s5 = &bDel;
      unaff_s6 = &nPos;
      unaff_s7 = &iDelta;
      pcVar34 = (code *)(PTR_LAB_00190ba4 + 0x61f0);
      psVar21 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);
      psVar32 = (sqlite3 *)(PTR_LAB_00190958 + 0x30a8);
      psVar3 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);
      do {
        iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);
        puVar36 = puVar36 + iVar37;
        psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);
        psStack_88 = psVar32;
        if (bDel != 0) {
          psStack_88 = psVar21;
        }
        psVar31 = (sqlite3 *)nPos;
        (*pcVar35)(pRc,pBuf);
        iVar37 = nPos;
        if (n - (int)puVar36 <= nPos) {
          iVar37 = n - (int)puVar36;
        }
        if (0 < iVar37) {
          unaff_s0 = (undefined *)0x0;
          do {
            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);
            unaff_s0 = unaff_s0 + iVar25;
            psVar7 = psVar3;
            psVar31 = iDelta._0_4_;
            (*pcVar35)(pRc,pBuf);
          } while ((int)unaff_s0 < iVar37);
          puVar36 = puVar36 + (int)unaff_s0;
        }
        if (n <= (int)puVar36) break;
        iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);
        puVar36 = puVar36 + iVar37;
        uStack_84 = iDocid._4_4_ + iDelta._4_4_;
        psVar31 = (sqlite3 *)
                  ((int)&(iDelta._0_4_)->pVfs +
                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));
        psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);
        psStack_88 = psVar31;
        iDocid._0_4_ = psVar31;
        iDocid._4_4_ = uStack_84;
        (*pcVar35)(pRc,pBuf);
      } while ((int)puVar36 < n);
    }
  }
  if (pvStack_2c == *(void **)puVar2) {
    return (int)puVar36;
  }
  pcVar38 = fts5DecodeFunction;
  pvVar15 = pvStack_2c;
  puVar33 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_148 = puVar33 + 0xe0838;
  piStack_130 = *(int **)(puVar33 + 0xd8d3c);
  pFStack_110 = (Fts5Parse *)0x0;
  iStack_c4 = *piStack_130;
  iVar37 = *(int *)(*(int *)((int)pvVar15 + 4) + 8);
  FStack_100.p = (u8 *)0x0;
  FStack_100.n = 0;
  FStack_100.nSpace = 0;
  psVar21 = psVar7;
  puStack_c0 = unaff_s0;
  piStack_bc = pRc;
  pFStack_b8 = pBuf;
  piStack_ac = unaff_s5;
  piStack_a8 = unaff_s6;
  piStack_a4 = unaff_s7;
  puStack_a0 = puVar36;
  pcStack_9c = pcVar38;
  uVar40 = (*(code *)(*(int *)(puVar33 + 0xd8ac0) + 0x7f68))((sqlite3 *)psVar7->pVfs);
  uVar4 = (uint)((ulonglong)uVar40 >> 0x20);
  uVar12 = (uint)uVar40;
  pVVar5 = (Vdbe *)(*(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88))(psVar7->pVdbe,1);
  uVar6 = (**(code **)(puStack_148 + -0x7f64))(psVar7->pVdbe);
  if (pFStack_110 == (Fts5Parse *)0x0) {
    psVar31 = (sqlite3 *)&pVVar5->pNext;
    psVar21 = (sqlite3 *)((int)psVar31 >> 0x1f);
    psVar7 = (sqlite3 *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))(&pFStack_110);
    if (psVar7 == (sqlite3 *)0x0) goto LAB_000b82dc;
    if (0 < (int)pVVar5) {
      (**(code **)(puStack_148 + -0x7af4))(psVar7,uVar6,pVVar5);
    }
    psVar21 = (sqlite3 *)((uVar4 << 0xb) >> 0x10);
    psStack_138 = (sqlite3 *)(uVar12 & 0x7fffffff);
    iVar25 = uVar4 << 0x1b;
    if (psVar21 != (sqlite3 *)0x0) {
      FStack_160.nPhrase = (uVar4 & 0xf) << 1 | uVar12 >> 0x1f;
      FStack_160.rc = (int)psVar21;
      FStack_160.apPhrase = (Fts5ExprPhrase **)psStack_138;
      if (iVar25 < 0) {
        pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);
        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);
        psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);
        sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);
        goto LAB_000b8528;
      }
      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);
      psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);
      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);
      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);
      if (iVar37 == 0) {
        psStack_138 = (sqlite3 *)&psStack_e8;
        psStack_e8 = (sqlite3 *)0x0;
        psStack_104 = (sqlite3 *)0x0;
        psStack_e4 = (sqlite3 *)0x0;
        pCStack_e0 = (CollSeq *)0x0;
        if (3 < (int)pVVar5) {
          psStack_12c = (sqlite3 *)
                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +
                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);
          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);
          psVar32 = (sqlite3 *)
                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)
                    & 0xffff);
          if (psStack_124 == (sqlite3 *)0x0) {
            if ((int)psStack_12c <= (int)pVVar5) {
              if (psVar32 == (sqlite3 *)0x0) {
                psVar32 = psStack_12c;
              }
              goto LAB_000b887c;
            }
          }
          else {
            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))
                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);
            if ((psVar32 == (sqlite3 *)0x0) &&
               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {
              psVar32 = psStack_12c;
            }
LAB_000b887c:
            if ((int)psVar32 <= (int)pVVar5) {
              if (0 < (int)&psVar32[-1].pNextBlocked) {
                psStack_128 = (sqlite3 *)&psStack_f4;
                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);
                iVar25 = *(int *)(puStack_148 + -0x7fc4);
                iVar37 = 0;
                do {
                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);
                  iVar37 = iVar37 + iVar20;
                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);
                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);
                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);
              }
              psVar31 = psStack_104;
              if (psStack_104 == (sqlite3 *)0x0) {
                psVar31 = psStack_12c;
              }
              if ((int)psVar31 <= (int)pVVar5) {
                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);
                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);
                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);
                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);
                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {
                  psStack_124 = (sqlite3 *)&psStack_f4;
                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);
                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);
                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;
                  iVar37 = 0;
                  psVar32 = psStack_12c;
                  while( true ) {
                    psStack_128 = psStack_124;
                    ppsVar19 = (sqlite3 **)psStack_124;
                    psStack_124 = psVar32;
                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),
                                            ppsVar19);
                    psVar3 = psStack_128;
                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);
                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;
                    if ((int)psVar32 < (int)pVVar5) break;
                    psStack_128 = psStack_12c;
                    psVar13 = psStack_124;
                    psStack_124 = psVar3;
LAB_000b8a74:
                    puVar17 = (u8 *)(iVar37 + (int)psVar7);
                    iVar25 = iVar37;
                    if (psStack_12c != psVar13) {
                      iVar25 = (*pcStack_134)(puVar17,psStack_124);
                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;
                      psStack_e4 = psStack_f4;
                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);
                      iVar25 = iVar37 + iVar25;
                    }
                    iVar20 = (*pcStack_134)(puVar17,psStack_124);
                    iVar25 = iVar25 + iVar20;
                    psVar21 = psStack_f4;
                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;
                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,
                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));
                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;
                    FStack_160.rc = (int)psStack_e8;
                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);
                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);
                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);
                    (*pcStack_120)(&pFStack_110,&FStack_100);
                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))
                    goto LAB_000b84cc;
                  }
                  psStack_114 = psStack_124;
                  psStack_124 = psStack_128;
                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);
                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);
                  psVar13 = psStack_114;
                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;
LAB_000b8afc:
                  pFStack_110 = (Fts5Parse *)0x10b;
                }
                goto LAB_000b84cc;
              }
            }
          }
          pFStack_110 = (Fts5Parse *)0x10b;
          pFVar8 = pFStack_110;
          goto LAB_000b8260;
        }
        psVar21 = (sqlite3 *)&DAT_00000007;
        FStack_100.n = 0;
        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);
        sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);
        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);
      }
      else {
        psStack_138 = (sqlite3 *)&psStack_e8;
        psStack_e8 = (sqlite3 *)0x0;
        psStack_108 = (sqlite3 *)0x0;
        psStack_e4 = (sqlite3 *)0x0;
        psVar32 = (sqlite3 *)
                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +
                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);
        pCStack_e0 = (CollSeq *)0x0;
        psStack_12c = psVar32;
        psVar31 = psVar32;
        if ((int)psVar32 < (int)pVVar5) {
          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))
                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);
          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);
          psVar31 = psStack_10c;
        }
        psStack_10c = psVar31;
        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;
        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);
        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);
        psVar21 = psStack_10c;
        if ((int)psStack_10c < (int)psVar32) {
          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);
          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);
          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);
          do {
            psStack_128 = psVar21;
            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);
            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);
            psStack_e4 = psStack_108;
            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,
                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));
            FStack_160.rc = (int)psStack_e8;
            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);
            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);
            psVar3 = psVar32;
            if ((int)psStack_12c < (int)pVVar5) {
              psStack_128 = psVar21;
              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),
                                      &psStack_f4);
              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);
              psVar21 = psStack_128;
              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);
            }
            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);
            psStack_10c = psVar3;
            (*(code *)psStack_124)
                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));
            psVar21 = psStack_10c;
            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;
            psStack_128 = psStack_10c;
            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),
                                    &psStack_108);
            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);
          } while ((int)psVar21 < (int)psVar32);
          iVar37 = *(int *)(puStack_148 + -0x7d78);
        }
        else {
LAB_000b84cc:
          iVar37 = *(int *)(puStack_148 + -0x7d78);
        }
        pcVar38 = (code *)(iVar37 + 0x7c);
        (*pcVar38)(psStack_138);
      }
      goto LAB_000b82e8;
    }
    if ((uVar4 == 0) &&
       (pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1)) {
      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4);
      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);
      if (iVar25 < 0) {
LAB_000b8528:
        iVar37 = *(int *)(puStack_148 + -0x7d7c);
        psStack_e8 = (sqlite3 *)&psStack_f4;
        psStack_e4 = (sqlite3 *)0x0;
        pCStack_e0 = (CollSeq *)0x0;
        psStack_dc = (sqlite3_mutex *)0x0;
        iStack_d4 = 0;
        psStack_d0 = (sqlite3 *)0x0;
        uStack_cc = 0;
        psStack_d8 = psStack_138;
        psStack_138 = (sqlite3 *)&psStack_e8;
        psStack_f4 = psVar7;
        pVStack_f0 = pVVar5;
        (*(code *)(iVar37 + 0x687c))();
        pFVar8 = pFStack_110;
        if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;
        iVar25 = *(int *)(puStack_148 + -0x7fc4);
        do {
          FStack_160.nPhrase = uStack_cc;
          FStack_160.rc = (int)psStack_d0;
          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);
          psVar31 = psStack_d8;
          (*pcStack_13c)(&pFStack_110,&FStack_100);
          (*(code *)(iVar37 + 0x687c))(psStack_138);
        } while (pCStack_e0 == (CollSeq *)0x0);
        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);
      }
      else {
        pFVar8 = pFStack_110;
        if ((int)pVVar5 < 1) goto LAB_000b8260;
        iVar25 = *(int *)(puStack_148 + -0x7de0);
        iVar20 = *(int *)(puStack_148 + -0x7fc8);
        iVar29 = *(int *)(puStack_148 + -0x7fc4);
        iVar37 = 0;
        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);
        psStack_138 = (sqlite3 *)&psStack_e8;
        do {
          psVar31 = psVar32;
          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);
          iVar37 = iVar37 + iVar9;
          FStack_160.rc = (int)psStack_e4;
          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);
          (*pcStack_13c)(&pFStack_110,&FStack_100);
          psVar32 = (sqlite3 *)(iVar29 + -0x4854);
        } while (iVar37 < (int)pVVar5);
        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);
      }
    }
    else {
      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);
      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8);
      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);
      if (iVar25 < 0) goto LAB_000b8528;
      psVar31 = (sqlite3 *)&psStack_e8;
      psVar21 = (sqlite3 *)0x0;
      psStack_e8 = (sqlite3 *)0x0;
      pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5);
      if (pFVar8 == (Fts5Parse *)0x0) {
        psStack_138 = psStack_e8;
        if (0 < psStack_e8->nDb) {
          puVar30 = &psStack_e8->mDbFlags;
          iVar37 = *(int *)(puStack_148 + -0x7fc4);
          psVar32 = (sqlite3 *)0x0;
          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);
          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);
          do {
            FStack_160.nPhrase = puVar30[1];
            FStack_160.rc = *puVar30;
            psVar31 = psVar32;
            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);
            if (0 < (int)puVar30[1]) {
              iVar25 = 0;
              iVar20 = 0;
              do {
                puVar28 = (undefined4 *)(puVar30[2] + iVar20);
                iVar25 = iVar25 + 1;
                iVar20 = iVar20 + 0xc;
                FStack_160.nPhrase = puVar28[2];
                psVar31 = (sqlite3 *)*puVar28;
                FStack_160.rc = puVar28[1];
                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);
              } while (iVar25 < (int)puVar30[1]);
            }
            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);
            puVar30 = puVar30 + 3;
            psVar21 = psStack_12c;
            (*pcStack_13c)(&pFStack_110,&FStack_100);
          } while ((int)psVar32 < psStack_138->nDb);
          psStack_138 = psStack_e8;
          pFVar8 = pFStack_110;
          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;
        }
        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);
        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;
        psStack_138 = psStack_e8;
        pFVar8 = pFStack_110;
        if ((int)psVar32 < 1) {
          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);
          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);
          goto LAB_000b82e8;
        }
      }
LAB_000b8260:
      pFStack_110 = pFVar8;
      pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);
    }
    (**(code **)(puStack_148 + -0x7fb4))(psVar7);
    if (pFStack_110 == (Fts5Parse *)0x0) goto LAB_000b8300;
LAB_000b8280:
    pFVar8 = pFStack_110;
    (**(code **)(puStack_148 + -0x7f4c))(pvVar15);
  }
  else {
LAB_000b82dc:
    psVar7 = (sqlite3 *)0x0;
    pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);
LAB_000b82e8:
    (**(code **)(puStack_148 + -0x7fb4))(psVar7);
    if (pFStack_110 != (Fts5Parse *)0x0) goto LAB_000b8280;
LAB_000b8300:
    pFVar8 = (Fts5Parse *)((int)pvVar15 + 0x14);
    FStack_160.nPhrase = 0xffffffff;
    FStack_160.rc = 1;
    psVar21 = (sqlite3 *)FStack_100.p;
    psVar31 = (sqlite3 *)FStack_100.n;
    (*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0))(pvVar15);
  }
  pFVar16 = &FStack_100;
  (*pcVar38)();
  if (iStack_c4 == *piStack_130) {
    return *piStack_130;
  }
  pcVar34 = *(code **)(puStack_148 + -0x7b28);
  pcVar39 = sqlite3Fts5Mprintf;
  (*pcVar34)();
  pcVar35 = pcVar34 + 0xdfda4;
  piVar27 = *(int **)(pcVar34 + 0xd82a8);
  iStack_17c = *piVar27;
  pcStack_188 = pcVar35;
  pFStack_174 = &FStack_100;
  pcStack_170 = pcVar38;
  pcStack_16c = pcVar39;
  FStack_160.pConfig = (Fts5Config *)psVar21;
  FStack_160.zErr = (char *)psVar31;
  if (pFVar16->p == (u8 *)0x0) {
    ap = &FStack_160;
    pFStack_180 = ap;
    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ap);
    pcVar35 = pcStack_188;
    pFVar8 = ap;
    if (pcVar10 == (char *)0x0) {
      pFVar16->p = (u8 *)0x7;
    }
  }
  else {
    pcVar10 = (char *)0x0;
  }
  if (iStack_17c == *piVar27) {
    return (int)pcVar10;
  }
  pcVar38 = *(code **)(pcVar35 + -0x7b28);
  iVar37 = iStack_17c;
  (*pcVar38)();
  ppsVar11 = &psStack_190;
  puVar28 = *(undefined4 **)(pcVar38 + 0xd8208);
  ppsVar18 = (sqlite3 **)*puVar28;
  ppsVar19 = ppsVar18;
  psStack_190 = psVar21;
  psStack_18c = psVar31;
  if (*(int *)(iVar37 + 8) == 0) {
    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ppsVar11);
    *(char **)(iVar37 + 4) = pcVar10;
    *(undefined4 *)(iVar37 + 8) = 1;
    ppsVar19 = ppsVar11;
  }
  ppsVar11 = (sqlite3 **)*puVar28;
  if (ppsVar18 == ppsVar11) {
    return (int)ppsVar11;
  }
  pcVar38 = *(code **)(pcVar38 + 0xd81dc);
  (*pcVar38)();
  iVar37 = (*(code *)(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0))(&pFVar8->rc,psVar21,psVar31);
  if (pFVar8->rc == 0) {
    pFVar23 = pFVar8->pConfig;
    (*(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8))(iVar37);
    iVar25 = pFVar23->nCol;
    if (iVar25 < 1) {
      iVar20 = *(int *)(pcVar38 + 0xd7ca8);
      if (iVar25 != 0) {
        iVar29 = 0;
LAB_000b8dcc:
        psVar31 = (sqlite3 *)0x0;
        if (ppsVar19 != (sqlite3 **)0x0) {
          psVar31 = *ppsVar19;
        }
        iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();
        if ((iVar25 != 0) ||
           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),
           piVar27 == (int *)0x0)) {
          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);
          pFVar8->rc = 7;
          (*pcVar38)(iVar37);
          goto LAB_000b8d20;
        }
        piVar22 = piVar27 + 1;
        if (0 < (int)psVar31) {
          if (piVar27[1] == iVar29) goto LAB_000b8e6c;
          psVar7 = (sqlite3 *)0x0;
          if (piVar27[1] <= iVar29) {
            psVar7 = (sqlite3 *)0x0;
            piVar14 = piVar27 + 2;
            do {
              piVar22 = piVar14;
              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);
              if (psVar31 == psVar7) goto LAB_000b8e64;
              if (*piVar22 == iVar29) goto LAB_000b8e6c;
              piVar14 = piVar22 + 1;
            } while (*piVar22 <= iVar29);
          }
          piVar14 = piVar27 + (int)psVar31;
          psVar21 = psVar31;
          do {
            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);
            piVar14[1] = *piVar14;
            piVar14 = piVar14 + -1;
          } while ((int)psVar7 < (int)psVar21);
        }
LAB_000b8e64:
        *piVar22 = iVar29;
        *piVar27 = (int)((int)&psVar31->pVfs + 1);
LAB_000b8e6c:
        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);
        return (int)piVar27;
      }
    }
    else {
      iVar29 = 0;
      ppcVar24 = pFVar23->azCol;
      pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8);
      do {
        pcVar10 = *ppcVar24;
        ppcVar24 = ppcVar24 + 1;
        iVar20 = iVar37;
        if (pcVar10 == (char *)0x0) {
joined_r0x000b8d9c:
          if (iVar20 == 0) goto LAB_000b8dcc;
        }
        else if (iVar37 != 0) {
          iVar20 = (*pcVar35)(pcVar10,iVar37);
          goto joined_r0x000b8d9c;
        }
        iVar29 = iVar29 + 1;
        iVar20 = *(int *)(pcVar38 + 0xd7ca8);
      } while (iVar29 != iVar25);
    }
    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);
    sqlite3Fts5ParseError(pFVar8,(char *)(iVar20 + -0x4c3c),iVar37);
    (*pcVar38)(iVar37);
  }
  else {
    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);
  }
LAB_000b8d20:
  (*pcVar38)(ppsVar19);
  return 0;
}



/* WARNING: Type propagation algorithm not settling */

byte *******
FUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)

{
  undefined *puVar1;
  undefined *puVar2;
  byte *******pppppppbVar3;
  uint uVar4;
  int iVar5;
  byte *******pppppppbVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  undefined4 *puVar10;
  byte *******pppppppbVar11;
  int iVar12;
  byte ****ppppbVar13;
  uint uVar14;
  byte *pbVar15;
  byte ******ppppppbVar16;
  byte *******pppppppbVar17;
  byte *******pppppppbVar18;
  byte *******pppppppbVar19;
  byte ******ppppppbVar20;
  byte *****pppppbVar21;
  byte ******ppppppbVar22;
  undefined *puVar23;
  undefined *unaff_s0;
  int *piVar24;
  byte ******ppppppbVar25;
  code *pcVar26;
  byte *******unaff_s3;
  byte *******unaff_s4;
  int *unaff_s5;
  byte *pbVar27;
  byte *******unaff_s6;
  byte *******unaff_s7;
  undefined *puVar28;
  code *pcVar29;
  code *pcVar30;
  byte *******pppppppbVar31;
  int iVar32;
  int iVar33;
  byte *pbVar34;
  undefined4 uVar35;
  code *pcVar36;
  undefined8 uVar37;
  byte *******pppppppbStack_190;
  byte *******pppppppbStack_18c;
  code *pcStack_188;
  byte *******pppppppbStack_180;
  int iStack_17c;
  byte *******pppppppbStack_174;
  code *pcStack_170;
  code *pcStack_16c;
  byte *******pppppppbStack_160;
  byte *******pppppppbStack_15c;
  byte *******local_158;
  byte ******local_154;
  byte *******local_150;
  undefined *local_148;
  code *local_13c;
  byte *******local_138;
  code *local_134;
  int *local_130;
  byte *******local_12c;
  byte *******local_128;
  byte *******local_124;
  code *local_120;
  code *local_11c;
  int local_118;
  byte *******local_114;
  byte *******local_110;
  byte *******local_10c;
  byte *******local_108;
  byte *******local_104;
  byte *******local_100;
  byte *******local_fc;
  undefined4 local_f8;
  byte *******local_f4;
  int local_f0;
  byte *******local_e8;
  byte *******local_e4;
  int local_e0;
  undefined4 local_dc;
  byte *******local_d8;
  undefined4 local_d4;
  byte *******local_d0;
  byte ******local_cc;
  byte *******local_c4;
  undefined *local_c0;
  undefined4 local_bc;
  undefined4 local_b8;
  byte *******local_b4;
  byte *******local_b0;
  int *local_ac;
  byte *******local_a8;
  byte *******local_a4;
  byte *******local_a0;
  undefined4 local_9c;
  byte *******local_88;
  uint local_84;
  byte *******local_48;
  int local_44;
  byte *******local_40;
  uint local_3c;
  byte *******local_38;
  int local_34;
  int local_2c;
  
  puVar2 = PTR___stack_chk_guard_00190e24;
  puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
  local_3c = 0;
  local_40 = (byte *******)0x0;
  local_2c = *(int *)PTR___stack_chk_guard_00190e24;
  pppppppbVar31 = (byte *******)0x0;
  pppppppbVar6 = param_3;
  pppppppbVar19 = param_4;
  local_b4 = unaff_s3;
  local_b0 = unaff_s4;
  if (0 < (int)param_4) {
    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);
    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);
    unaff_s0 = PTR_LAB_00190c2c;
    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);
    local_84 = local_3c;
    local_88 = local_40;
    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);
    FUN_000b7b38(param_1,param_2);
    puVar1 = PTR_LAB_00190ba4;
    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
    local_b4 = param_3;
    local_b0 = param_4;
    if ((int)pppppppbVar31 < (int)param_4) {
      unaff_s5 = &local_44;
      unaff_s6 = (byte *******)&local_48;
      unaff_s7 = (byte *******)&local_38;
      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);
      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);
      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);
      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);
      do {
        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);
        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);
        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);
        local_88 = pppppppbVar11;
        if (local_44 != 0) {
          local_88 = pppppppbVar18;
        }
        pppppppbVar19 = local_48;
        (*pcVar30)(param_1,param_2);
        pppppppbVar3 = local_48;
        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {
          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);
        }
        if (0 < (int)pppppppbVar3) {
          unaff_s0 = (undefined *)0x0;
          do {
            iVar12 = (*(code *)(puVar1 + 0x610c))
                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),
                                unaff_s7);
            unaff_s0 = unaff_s0 + iVar12;
            pppppppbVar6 = pppppppbVar17;
            pppppppbVar19 = local_38;
            (*pcVar30)(param_1,param_2);
          } while ((int)unaff_s0 < (int)pppppppbVar3);
          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);
        }
        if ((int)param_4 <= (int)pppppppbVar31) break;
        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);
        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);
        local_84 = local_3c + local_34;
        pppppppbVar19 =
             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));
        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);
        local_88 = pppppppbVar19;
        local_40 = pppppppbVar19;
        local_3c = local_84;
        (*pcVar30)(param_1,param_2);
      } while ((int)pppppppbVar31 < (int)param_4);
    }
  }
  if (local_2c == *(int *)puVar2) {
    return pppppppbVar31;
  }
  uVar35 = 0xb80e8;
  iVar12 = local_2c;
  puVar28 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  local_148 = puVar28 + 0xe0838;
  local_130 = *(int **)(puVar28 + 0xd8d3c);
  local_110 = (byte *******)0x0;
  local_c4 = (byte *******)*local_130;
  iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);
  local_100 = (byte *******)0x0;
  local_fc = (byte *******)0x0;
  local_f8 = 0;
  pppppppbVar18 = pppppppbVar6;
  local_c0 = unaff_s0;
  local_bc = param_1;
  local_b8 = param_2;
  local_ac = unaff_s5;
  local_a8 = unaff_s6;
  local_a4 = unaff_s7;
  local_a0 = pppppppbVar31;
  local_9c = uVar35;
  uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);
  uVar4 = (uint)((ulonglong)uVar37 >> 0x20);
  uVar14 = (uint)uVar37;
  iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);
  uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);
  if (local_110 == (byte *******)0x0) {
    pppppppbVar19 = (byte *******)(iVar5 + 8);
    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);
    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);
    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;
    if (0 < iVar5) {
      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);
    }
    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);
    local_138 = (byte *******)(uVar14 & 0x7fffffff);
    iVar33 = uVar4 << 0x1b;
    if (pppppppbVar31 != (byte *******)0x0) {
      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);
      local_158 = pppppppbVar31;
      local_150 = local_138;
      if (iVar33 < 0) {
        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);
        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);
        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);
        FUN_000b7b38(&local_110,&local_100);
        goto LAB_000b8528;
      }
      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);
      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);
      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);
      FUN_000b7b38(&local_110,&local_100);
      if (iVar32 == 0) {
        local_138 = (byte *******)&local_e8;
        local_e8 = (byte *******)0x0;
        local_104 = (byte *******)0x0;
        local_e4 = (byte *******)0x0;
        local_e0 = 0;
        if (3 < iVar5) {
          local_12c = (byte *******)
                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +
                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);
          local_124 = (byte *******)(uint)((int)local_12c < iVar5);
          pppppppbVar31 =
               (byte *******)
               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &
               0xffff);
          if (local_124 == (byte *******)0x0) {
            if ((int)local_12c <= iVar5) {
              if (pppppppbVar31 == (byte *******)0x0) {
                pppppppbVar31 = local_12c;
              }
              goto LAB_000b887c;
            }
          }
          else {
            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))
                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);
            if ((pppppppbVar31 == (byte *******)0x0) &&
               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {
              pppppppbVar31 = local_12c;
            }
LAB_000b887c:
            if ((int)pppppppbVar31 <= iVar5) {
              if (0 < (int)(pppppppbVar31 + -1)) {
                local_128 = (byte *******)&local_f4;
                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);
                iVar33 = *(int *)(local_148 + -0x7fc4);
                iVar32 = 0;
                do {
                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);
                  iVar32 = iVar32 + iVar7;
                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);
                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);
                } while (iVar32 < (int)(pppppppbVar31 + -1));
              }
              pppppppbVar19 = local_104;
              if (local_104 == (byte *******)0x0) {
                pppppppbVar19 = local_12c;
              }
              if ((int)pppppppbVar19 <= iVar5) {
                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);
                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);
                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);
                FUN_000b7e40(&local_110,&local_100);
                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {
                  local_124 = (byte *******)&local_f4;
                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);
                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);
                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;
                  pbVar27 = (byte *)0x0;
                  pppppppbVar31 = local_12c;
                  while( true ) {
                    local_128 = local_124;
                    pppppppbVar11 = local_124;
                    local_124 = pppppppbVar31;
                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),
                                          pppppppbVar11);
                    pppppppbVar11 = local_128;
                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);
                    pbVar27 = pbVar27 + (int)local_f4;
                    if ((int)pppppppbVar31 < iVar5) break;
                    local_128 = local_12c;
                    pppppppbVar17 = local_124;
                    local_124 = pppppppbVar11;
LAB_000b8a74:
                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);
                    pbVar34 = pbVar27;
                    if (local_12c != pppppppbVar17) {
                      iVar32 = (*local_134)(pbVar15,local_124);
                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;
                      local_e4 = local_f4;
                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));
                      pbVar34 = pbVar27 + iVar32;
                    }
                    iVar32 = (*local_134)(pbVar15,local_124);
                    pbVar34 = pbVar34 + iVar32;
                    pppppppbVar18 = local_f4;
                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;
                    (*local_11c)(&local_110,local_138,local_f4,
                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));
                    pbVar34 = pbVar34 + (int)local_f4;
                    local_158 = local_e8;
                    (*local_13c)(&local_110,&local_100,local_118,local_e4);
                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);
                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);
                    (*local_120)(&local_110,&local_100);
                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))
                    goto LAB_000b84cc;
                  }
                  local_114 = local_124;
                  local_124 = local_128;
                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);
                  local_128 = (byte *******)(pbVar27 + (int)local_f4);
                  pppppppbVar17 = local_114;
                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;
LAB_000b8afc:
                  local_110 = (byte *******)0x10b;
                }
                goto LAB_000b84cc;
              }
            }
          }
          local_110 = (byte *******)0x10b;
          pppppppbVar31 = local_110;
          goto LAB_000b8260;
        }
        pppppppbVar18 = (byte *******)&DAT_00000007;
        local_fc = (byte *******)0x0;
        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);
        FUN_000ac7ac(&local_110,&local_100);
        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
      }
      else {
        local_138 = (byte *******)&local_e8;
        local_e8 = (byte *******)0x0;
        local_108 = (byte *******)0x0;
        local_e4 = (byte *******)0x0;
        pppppppbVar31 =
             (byte *******)
             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +
              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);
        local_e0 = 0;
        local_12c = pppppppbVar31;
        pppppppbVar19 = pppppppbVar31;
        if ((int)pppppppbVar31 < iVar5) {
          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))
                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);
          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);
          pppppppbVar19 = local_10c;
        }
        local_10c = pppppppbVar19;
        pppppppbVar19 = local_10c + -1;
        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);
        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);
        pppppppbVar18 = local_10c;
        if ((int)local_10c < (int)pppppppbVar31) {
          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);
          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);
          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);
          do {
            local_128 = pppppppbVar18;
            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);
            local_128 = (byte *******)((int)local_128 + iVar32);
            local_e4 = local_108;
            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)
                        );
            local_158 = local_e8;
            (*local_13c)(&local_110,&local_100,local_11c,local_e4);
            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);
            pppppppbVar11 = pppppppbVar31;
            if ((int)local_12c < iVar5) {
              local_128 = pppppppbVar18;
              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);
              local_12c = (byte *******)((int)local_12c + iVar32);
              pppppppbVar18 = local_128;
              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);
            }
            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);
            local_10c = pppppppbVar11;
            (*(code *)local_124)
                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));
            pppppppbVar18 = local_10c;
            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;
            local_128 = local_10c;
            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);
            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);
          } while ((int)pppppppbVar18 < (int)pppppppbVar31);
          iVar5 = *(int *)(local_148 + -0x7d78);
        }
        else {
LAB_000b84cc:
          iVar5 = *(int *)(local_148 + -0x7d78);
        }
        pcVar26 = (code *)(iVar5 + 0x7c);
        (*pcVar26)(local_138);
      }
      goto LAB_000b82e8;
    }
    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))
    {
      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);
      FUN_000b7b38(&local_110,&local_100);
      if (iVar33 < 0) {
LAB_000b8528:
        iVar32 = *(int *)(local_148 + -0x7d7c);
        local_e8 = (byte *******)&local_f4;
        local_e4 = (byte *******)0x0;
        local_e0 = 0;
        local_dc = 0;
        local_d4 = 0;
        local_d0 = (byte *******)0x0;
        local_cc = (byte ******)0x0;
        local_d8 = local_138;
        local_138 = (byte *******)&local_e8;
        local_f4 = pppppppbVar6;
        local_f0 = iVar5;
        (*(code *)(iVar32 + 0x687c))();
        pppppppbVar31 = local_110;
        if (local_e0 != 0) goto LAB_000b8260;
        iVar5 = *(int *)(local_148 + -0x7fc4);
        do {
          local_154 = local_cc;
          local_158 = local_d0;
          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);
          pppppppbVar19 = local_d8;
          (*local_13c)(&local_110,&local_100);
          (*(code *)(iVar32 + 0x687c))(local_138);
        } while (local_e0 == 0);
        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
      }
      else {
        pppppppbVar31 = local_110;
        if (iVar5 < 1) goto LAB_000b8260;
        iVar33 = *(int *)(local_148 + -0x7de0);
        iVar7 = *(int *)(local_148 + -0x7fc8);
        iVar8 = *(int *)(local_148 + -0x7fc4);
        iVar32 = 0;
        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);
        local_138 = (byte *******)&local_e8;
        do {
          pppppppbVar19 = pppppppbVar31;
          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);
          iVar32 = iVar32 + iVar9;
          local_158 = local_e4;
          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);
          (*local_13c)(&local_110,&local_100);
          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);
        } while (iVar32 < iVar5);
        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
      }
    }
    else {
      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);
      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);
      FUN_000b7b38(&local_110,&local_100);
      if (iVar33 < 0) goto LAB_000b8528;
      pppppppbVar19 = (byte *******)&local_e8;
      pppppppbVar18 = (byte *******)0x0;
      local_e8 = (byte *******)0x0;
      pppppppbVar31 =
           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);
      if (pppppppbVar31 == (byte *******)0x0) {
        local_138 = local_e8;
        if (0 < (int)local_e8[5]) {
          pppppppbVar31 = local_e8 + 6;
          iVar5 = *(int *)(local_148 + -0x7fc4);
          pppppppbVar11 = (byte *******)0x0;
          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);
          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);
          do {
            local_154 = pppppppbVar31[1];
            local_158 = (byte *******)*pppppppbVar31;
            pppppppbVar19 = pppppppbVar11;
            (*local_13c)(&local_110,&local_100,local_134);
            if (0 < (int)pppppppbVar31[1]) {
              iVar32 = 0;
              iVar33 = 0;
              do {
                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);
                iVar32 = iVar32 + 1;
                iVar33 = iVar33 + 0xc;
                local_154 = (byte ******)puVar10[2];
                pppppppbVar19 = (byte *******)*puVar10;
                local_158 = (byte *******)puVar10[1];
                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);
              } while (iVar32 < (int)pppppppbVar31[1]);
            }
            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);
            pppppppbVar31 = pppppppbVar31 + 3;
            pppppppbVar18 = local_12c;
            (*local_13c)(&local_110,&local_100);
          } while ((int)pppppppbVar11 < (int)local_138[5]);
          local_138 = local_e8;
          pppppppbVar31 = local_110;
          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;
        }
        ppppppbVar22 = *local_e8;
        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);
        local_138 = local_e8;
        pppppppbVar31 = local_110;
        if ((int)ppppppbVar22 + -1 < 1) {
          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);
          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
          goto LAB_000b82e8;
        }
      }
LAB_000b8260:
      local_110 = pppppppbVar31;
      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
    }
    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);
    if (local_110 == (byte *******)0x0) goto LAB_000b8300;
LAB_000b8280:
    pppppppbVar6 = local_110;
    (**(code **)(local_148 + -0x7f4c))(iVar12);
  }
  else {
LAB_000b82dc:
    pppppppbVar6 = (byte *******)0x0;
    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
LAB_000b82e8:
    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);
    if (local_110 != (byte *******)0x0) goto LAB_000b8280;
LAB_000b8300:
    pppppppbVar6 = (byte *******)(iVar12 + 0x14);
    local_154 = (byte ******)0xffffffff;
    local_158 = (byte *******)0x1;
    pppppppbVar18 = local_100;
    pppppppbVar19 = local_fc;
    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);
  }
  pppppppbVar31 = (byte *******)&local_100;
  (*pcVar26)();
  if (local_c4 == (byte *******)*local_130) {
    return (byte *******)*local_130;
  }
  pcVar29 = *(code **)(local_148 + -0x7b28);
  pcVar36 = FUN_000b8b7c;
  (*pcVar29)();
  pcVar30 = pcVar29 + 0xdfda4;
  piVar24 = *(int **)(pcVar29 + 0xd82a8);
  iStack_17c = *piVar24;
  pcStack_188 = pcVar30;
  pppppppbStack_174 = (byte *******)&local_100;
  pcStack_170 = pcVar26;
  pcStack_16c = pcVar36;
  pppppppbStack_160 = pppppppbVar18;
  pppppppbStack_15c = pppppppbVar19;
  if (*pppppppbVar31 == (byte ******)0x0) {
    pppppppbVar17 = (byte *******)&pppppppbStack_160;
    pppppppbStack_180 = pppppppbVar17;
    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);
    pcVar30 = pcStack_188;
    pppppppbVar6 = pppppppbVar17;
    if (pppppppbVar11 == (byte *******)0x0) {
      *pppppppbVar31 = (byte ******)0x7;
    }
  }
  else {
    pppppppbVar11 = (byte *******)0x0;
  }
  if (iStack_17c == *piVar24) {
    return pppppppbVar11;
  }
  pcVar26 = *(code **)(pcVar30 + -0x7b28);
  iVar12 = iStack_17c;
  (*pcVar26)();
  pppppppbVar11 = (byte *******)&pppppppbStack_190;
  piVar24 = *(int **)(pcVar26 + 0xd8208);
  pppppppbVar17 = (byte *******)*piVar24;
  pppppppbVar31 = pppppppbVar17;
  pppppppbStack_190 = pppppppbVar18;
  pppppppbStack_18c = pppppppbVar19;
  if (*(int *)(iVar12 + 8) == 0) {
    uVar35 = sqlite3_vmprintf();
    *(undefined4 *)(iVar12 + 4) = uVar35;
    *(undefined4 *)(iVar12 + 8) = 1;
    pppppppbVar31 = pppppppbVar11;
  }
  pppppppbVar11 = (byte *******)*piVar24;
  if (pppppppbVar17 == pppppppbVar11) {
    return pppppppbVar11;
  }
  pcVar26 = *(code **)(pcVar26 + 0xd81dc);
  (*pcVar26)();
  iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))
                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);
  if (pppppppbVar6[2] == (byte ******)0x0) {
    ppppppbVar20 = *pppppppbVar6;
    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);
    ppppppbVar22 = (byte ******)ppppppbVar20[3];
    if ((int)ppppppbVar22 < 1) {
      iVar5 = *(int *)(pcVar26 + 0xd7ca8);
      if (ppppppbVar22 != (byte ******)0x0) {
        ppppppbVar25 = (byte ******)0x0;
LAB_000b8dcc:
        ppppppbVar22 = (byte ******)0x0;
        if (pppppppbVar31 != (byte *******)0x0) {
          ppppppbVar22 = *pppppppbVar31;
        }
        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();
        if ((iVar5 != 0) ||
           (pppppppbVar19 =
                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),
           pppppppbVar19 == (byte *******)0x0)) {
          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);
          pppppppbVar6[2] = (byte ******)0x7;
          (*pcVar26)(iVar12);
          goto LAB_000b8d20;
        }
        pppppppbVar6 = pppppppbVar19 + 1;
        if (0 < (int)ppppppbVar22) {
          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;
          ppppppbVar20 = (byte ******)0x0;
          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {
            ppppppbVar20 = (byte ******)0x0;
            pppppppbVar31 = pppppppbVar19 + 2;
            do {
              pppppppbVar6 = pppppppbVar31;
              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);
              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;
              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;
              pppppppbVar31 = pppppppbVar6 + 1;
            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);
          }
          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;
          ppppppbVar16 = ppppppbVar22;
          do {
            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);
            pppppppbVar31[1] = *pppppppbVar31;
            pppppppbVar31 = pppppppbVar31 + -1;
          } while ((int)ppppppbVar20 < (int)ppppppbVar16);
        }
LAB_000b8e64:
        *pppppppbVar6 = ppppppbVar25;
        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);
LAB_000b8e6c:
        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);
        return pppppppbVar19;
      }
    }
    else {
      ppppppbVar25 = (byte ******)0x0;
      pppppbVar21 = ppppppbVar20[4];
      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);
      do {
        ppppbVar13 = *pppppbVar21;
        pppppbVar21 = pppppbVar21 + 1;
        iVar5 = iVar12;
        if (ppppbVar13 == (byte ****)0x0) {
joined_r0x000b8d9c:
          if (iVar5 == 0) goto LAB_000b8dcc;
        }
        else if (iVar12 != 0) {
          iVar5 = (*pcVar30)(ppppbVar13,iVar12);
          goto joined_r0x000b8d9c;
        }
        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);
        iVar5 = *(int *)(pcVar26 + 0xd7ca8);
      } while (ppppppbVar25 != ppppppbVar22);
    }
    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);
    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);
    (*pcVar26)(iVar12);
  }
  else {
    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);
  }
LAB_000b8d20:
  (*pcVar26)(pppppppbVar31);
  return (byte *******)0x0;
}


lui gp,0xe
addiu gp,gp,0xae0
addu gp,gp,t9
addiu sp,sp,-0x98
lw v0,-0x7afc(gp)
sw s2,0x78(sp)
or s2,a1,zero
sw s1,0x74(sp)
or a1,zero,zero
sw gp,0x18(sp)
or s1,a0,zero
sw ra,0x94(sp)
or a0,zero,zero
sw s8,0x90(sp)
sw s7,0x8c(sp)
sw s6,0x88(sp)
sw s5,0x84(sp)
sw s4,0x80(sp)
sw s3,0x7c(sp)
sw s0,0x70(sp)
sw v0,0x4c(sp)
sw a1,0x5c(sp)
sw a0,0x58(sp)
lw v0,0x0(v0)
sw v0,0x6c(sp)
bgtz a3,0x000b7ef0
_or s8,zero,zero
lw v1,0x4c(sp)
or v0,s8,zero
lw a0,0x6c(sp)
lw v1,0x0(v1)
bne a0,v1,0x000b80dc
_lw ra,0x94(sp)
lw s8,0x90(sp)
lw s7,0x8c(sp)
lw s6,0x88(sp)
lw s5,0x84(sp)
lw s4,0x80(sp)
lw s3,0x7c(sp)
lw s2,0x78(sp)
lw s1,0x74(sp)
lw s0,0x70(sp)
jr ra
_addiu sp,sp,0x98
lw v0,-0x7de0(gp)
addiu a1,sp,0x58
lw t4,-0x7fc4(gp)
or a0,a2,zero
or s4,a3,zero
addiu t9,v0,-0x80
sw t4,0x40(sp)
or s3,a2,zero
jalr t9
_sw t9,0x44(sp)
or a1,s2,zero
lw gp,0x18(sp)
addiu a2,t4,-0x4cdc
lw t1,0x5c(sp)
or s8,v0,zero
lw t0,0x58(sp)
or a0,s1,zero
lw s0,-0x7cf4(gp)
sw t1,0x14(sp)
sw t0,0x10(sp)
addiu t9,s0,0x7b38
bal 0x000b7b38
_sw t9,0x20(sp)
slt v0,s8,s4
beq v0,zero,0x000b7eac
_lw gp,0x18(sp)
lw v0,-0x7d7c(gp)
addiu s5,sp,0x54
addiu s6,sp,0x50
addiu s7,sp,0x60
addiu v0,v0,0x61f0
sw v0,0x30(sp)
lw v0,-0x7fc4(gp)
sw v0,0x34(sp)
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x6390
sw v0,0x38(sp)
lw v0,-0x7d7c(gp)
sw v0,0x48(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x30a8
sw v0,0x3c(sp)
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x556c
sw v0,0x2c(sp)
lw t9,0x30(sp)
addu a0,s3,s8
or a2,s5,zero
jalr t9
_or a1,s6,zero
or a0,s1,zero
lw v1,0x34(sp)
addu s8,s8,v0
lw a3,0x38(sp)
or a1,s2,zero
lw v0,0x54(sp)
addiu a2,v1,-0x4cd0
lw v1,0x3c(sp)
lw t9,0x20(sp)
movn v1,a3,v0
lw a3,0x50(sp)
jalr t9
_sw v1,0x10(sp)
subu a0,s4,s8
lw v0,0x50(sp)
lw gp,0x18(sp)
slt t4,v0,a0
movz v0,a0,t4
blez v0,0x000b8060
_or t4,v0,zero
lw v0,0x48(sp)
or s0,zero,zero
addiu v0,v0,0x610c
sw v0,0x28(sp)
addu a0,s0,s8
lw t9,0x28(sp)
sw t4,0x24(sp)
or a1,s7,zero
jalr t9
_addu a0,s3,a0
or a1,s2,zero
lw a2,0x2c(sp)
or a0,s1,zero
lw a3,0x60(sp)
lw t9,0x20(sp)
jalr t9
_addu s0,s0,v0
lw t4,0x24(sp)
slt v0,s0,t4
bne v0,zero,0x000b8018
_lw gp,0x18(sp)
addu s8,s8,s0
slt v0,s8,s4
beq v0,zero,0x000b7eb0
_lw v1,0x4c(sp)
lw t9,0x44(sp)
addu a0,s3,s8
jalr t9
_or a1,s7,zero
or a1,s2,zero
lw a3,0x5c(sp)
addu s8,s8,v0
lw v0,0x64(sp)
or a0,s1,zero
lw t0,0x58(sp)
lw t4,0x60(sp)
addu v0,a3,v0
lw v1,0x40(sp)
lw t9,0x20(sp)
addu t0,t0,t4
sw v0,0x14(sp)
sltu a3,v0,a3
sw v0,0x5c(sp)
addu a3,a3,t0
addiu a2,v1,-0x4cdc
sw a3,0x10(sp)
jalr t9
_sw a3,0x58(sp)
slt v0,s8,s4
bne v0,zero,0x000b7fa4
_lw gp,0x18(sp)
b 0x000b7eb0
_lw v1,0x4c(sp)
lw t9,-0x7b28(gp)
jalr t9
_nop
lui gp,0xe
addiu gp,gp,0x838
addu gp,gp,t9
addiu sp,sp,-0xd0
lw v0,-0x7afc(gp)
lw t9,-0x7d78(gp)
sw ra,0xcc(sp)
sw gp,0x20(sp)
addiu t9,t9,0x7f68
sw s7,0xc4(sp)
sw s6,0xc0(sp)
or s6,a0,zero
sw s4,0xb8(sp)
sw s3,0xb4(sp)
sw s1,0xac(sp)
or s1,a2,zero
sw s0,0xa8(sp)
addiu s0,sp,0x68
sw s8,0xc8(sp)
sw s5,0xbc(sp)
sw s2,0xb0(sp)
sw v0,0x38(sp)
sw zero,0x58(sp)
lw v1,0x4(a0)
lw v0,0x0(v0)
lw a0,0x0(a2)
lw s8,0x8(v1)
sw v0,0xa4(sp)
sw zero,0x68(sp)
sw zero,0x4(s0)
jalr t9
_sw zero,0x8(s0)
li a1,0x1
lw gp,0x20(sp)
or s3,v1,zero
lw a0,0x4(s1)
lw t9,-0x7d60(gp)
addiu t9,t9,0x6c88
jalr t9
_or s7,v0,zero
lw gp,0x20(sp)
or s4,v0,zero
lw t9,-0x7f64(gp)
jalr t9
_lw a0,0x4(s1)
lw v1,0x58(sp)
bne v1,zero,0x000b82dc
_lw gp,0x20(sp)
lw t9,-0x7d68(gp)
addiu a3,s4,0x8
addiu s1,sp,0x58
sra a2,a3,0x1f
addiu t9,t9,0x51c0
or a0,s1,zero
jalr t9
_or s5,v0,zero
lw gp,0x20(sp)
beq v0,zero,0x000b82dc
_or s2,v0,zero
blez s4,0x000b81f0
_lw t9,-0x7af4(gp)
or a2,s4,zero
or a1,s5,zero
jalr t9
_or a0,v0,zero
lw gp,0x20(sp)
ext v0,s7,0x5,0x10
ext t1,s3,0x0,0x1f
bne v0,zero,0x000b8334
_ext s5,s7,0x4,0x1
lw t0,-0x7cf4(gp)
or a1,s0,zero
sw t1,0x30(sp)
beq s7,zero,0x000b85cc
_or a0,s1,zero
lw a2,-0x7fc4(gp)
addiu t9,t0,0x7b38
sw t9,0x2c(sp)
bal 0x000b7b38
_addiu a2,a2,-0x4cb8
lw gp,0x20(sp)
bne s5,zero,0x000b8528
_lw t1,0x30(sp)
lw t9,-0x7d68(gp)
addiu a3,sp,0x80
or a2,zero,zero
sw zero,0x80(sp)
or a1,s4,zero
addiu t9,t9,0x52ac
jalr t9
_or a0,s2,zero
beq v0,zero,0x000b86dc
_lw gp,0x20(sp)
sw v0,0x58(sp)
lw s1,-0x7d78(gp)
addiu s1,s1,0x7c
lw t9,-0x7fb4(gp)
jalr t9
_or a0,s2,zero
lw a1,0x58(sp)
beq a1,zero,0x000b8300
_lw gp,0x20(sp)
lw t9,-0x7f4c(gp)
jalr t9
_or a0,s6,zero
or t9,s1,zero
jalr t9
_or a0,s0,zero
lw v0,0x38(sp)
lw v1,0xa4(sp)
lw gp,0x20(sp)
lw v0,0x0(v0)
bne v1,v0,0x000b8b70
_lw ra,0xcc(sp)
lw s8,0xc8(sp)
lw s7,0xc4(sp)
lw s6,0xc0(sp)
lw s5,0xbc(sp)
lw s4,0xb8(sp)
lw s3,0xb4(sp)
lw s2,0xb0(sp)
lw s1,0xac(sp)
lw s0,0xa8(sp)
jr ra
_addiu sp,sp,0xd0
lw s1,-0x7d78(gp)
or s2,zero,zero
addiu s1,s1,0x7c
lw t9,-0x7fb4(gp)
jalr t9
_or a0,s2,zero
lw a1,0x58(sp)
bne a1,zero,0x000b8280
_lw gp,0x20(sp)
li v0,-0x1
lw t9,-0x7d60(gp)
lw a3,0x6c(sp)
addiu a1,s6,0x14
lw a2,0x68(sp)
or a0,s6,zero
sw v0,0x14(sp)
li v0,0x1
addiu t9,t9,-0x13c0
jalr t9
_sw v0,0x10(sp)
b 0x000b8290
_or t9,s1,zero
sll s7,s7,0x1
srl s3,s3,0x1f
or s3,s7,s3
bne s5,zero,0x000b84e8
_andi s3,s3,0x1f
lw t0,-0x7cf4(gp)
or a1,s0,zero
lw a3,-0x7fc8(gp)
or a0,s1,zero
lw a2,-0x7fc4(gp)
addiu t9,t0,0x7b38
sw t1,0x18(sp)
addiu a3,a3,0x30a8
sw s3,0x14(sp)
addiu a2,a2,-0x4c60
sw t9,0x2c(sp)
bal 0x000b7b38
_sw v0,0x10(sp)
beq s8,zero,0x000b8804
_lw gp,0x20(sp)
lbu s5,0x2(s2)
addiu v1,sp,0x80
lbu v0,0x3(s2)
sw v1,0x30(sp)
sll s5,s5,0x8
sw zero,0x80(sp)
sw zero,0x60(sp)
addu s5,s5,v0
sw zero,0x84(sp)
andi s5,s5,0xffff
slt v0,s5,s4
bne v0,zero,0x000b8a90
_sw zero,0x88(sp)
sw s5,0x5c(sp)
or a3,s5,zero
sw s5,0x3c(sp)
lw v0,-0x7cf4(gp)
addiu a2,s2,0x4
addiu a3,a3,-0x4
or a1,s0,zero
addiu t9,v0,0x7c34
or a0,s1,zero
bal 0x000b7c34
_sw t9,0x44(sp)
lw a2,0x5c(sp)
slt v0,a2,s5
beq v0,zero,0x000b84cc
_lw gp,0x20(sp)
lw v0,-0x7d7c(gp)
addiu s7,sp,0x64
addiu s3,sp,0x74
addiu s8,sp,0x60
addiu v0,v0,0x610c
sw v0,0x34(sp)
lw v0,-0x7cf4(gp)
addiu v0,v0,-0x3854
sw v0,0x48(sp)
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x4c6c
sw v0,0x4c(sp)
lw t9,0x34(sp)
addu a0,s2,a2
sw a2,0x40(sp)
jalr t9
_or a1,s7,zero
or a0,s1,zero
lw a2,0x40(sp)
lw v1,0x60(sp)
lw a1,0x30(sp)
addu v0,v0,a2
lw t9,0x48(sp)
lw a2,0x64(sp)
addu a3,s2,v0
sw v0,0x40(sp)
jalr t9
_sw v1,0x84(sp)
or a1,s0,zero
lw v1,0x80(sp)
or a0,s1,zero
lw a2,0x4c(sp)
lw a3,0x84(sp)
lw t9,0x2c(sp)
jalr t9
_sw v1,0x10(sp)
lw v0,0x3c(sp)
lw a2,0x64(sp)
slt v1,v0,s4
lw v0,0x40(sp)
bne v1,zero,0x000b86a0
_addu a2,v0,a2
sw s5,0x5c(sp)
or a3,s5,zero
lw t9,0x44(sp)
subu a3,a3,a2
addu a2,s2,a2
or a1,s0,zero
jalr t9
_or a0,s1,zero
lw a2,0x5c(sp)
slt v0,a2,s5
bne v0,zero,0x000b8670
_lw gp,0x20(sp)
lw s1,-0x7d78(gp)
addiu s1,s1,0x7c
or t9,s1,zero
jalr t9
_lw a0,0x30(sp)
b 0x000b82e8
_lw gp,0x20(sp)
lw t0,-0x7cf4(gp)
or a1,s0,zero
lw a3,-0x7fc4(gp)
or a0,s1,zero
lw a2,-0x7fc4(gp)
addiu t9,t0,0x7b38
sw t1,0x18(sp)
addiu a3,a3,-0x4c44
sw t1,0x30(sp)
addiu a2,a2,-0x4c60
sw s3,0x14(sp)
sw t9,0x2c(sp)
bal 0x000b7b38
_sw v0,0x10(sp)
lw gp,0x20(sp)
lw t1,0x30(sp)
sw s4,0x78(sp)
addiu a0,sp,0x80
lw s4,-0x7d7c(gp)
addiu v0,sp,0x74
sw a0,0x30(sp)
sw s2,0x74(sp)
addiu s4,s4,0x687c
sw zero,0x84(sp)
sw zero,0x88(sp)
sw zero,0x8c(sp)
or t9,s4,zero
sw zero,0x94(sp)
sw zero,0x98(sp)
sw zero,0x9c(sp)
sw v0,0x80(sp)
jalr t9
_sw t1,0x90(sp)
lw v0,0x88(sp)
bne v0,zero,0x000b8260
_lw gp,0x20(sp)
lw s5,-0x7fc4(gp)
addiu s5,s5,-0x4cac
lw v1,0x9c(sp)
or a0,s1,zero
lw v0,0x98(sp)
or a2,s5,zero
lw a3,0x90(sp)
or a1,s0,zero
lw t9,0x2c(sp)
sw v1,0x14(sp)
jalr t9
_sw v0,0x10(sp)
or t9,s4,zero
jalr t9
_lw a0,0x30(sp)
lw v0,0x88(sp)
beq v0,zero,0x000b8580
_lw gp,0x20(sp)
lw s1,-0x7d78(gp)
b 0x000b8268
_addiu s1,s1,0x7c
li v0,0x1
bne s3,v0,0x000b8214
_addiu t9,t0,0x7b38
lw a2,-0x7fc4(gp)
sw t9,0x2c(sp)
bal 0x000b7b38
_addiu a2,a2,-0x4cc4
lw gp,0x20(sp)
bne s5,zero,0x000b8528
_lw t1,0x30(sp)
blez s4,0x000b8260
_addiu v0,sp,0x80
lw t4,-0x7fc8(gp)
sw v0,0x30(sp)
lw v0,-0x7de0(gp)
addiu t4,t4,0x30a8
addiu s8,v0,-0x80
lw v0,-0x7fc8(gp)
addiu s7,v0,0x2db4
lw v0,-0x7fc4(gp)
addiu s3,v0,-0x4854
lw a1,0x30(sp)
or t9,s8,zero
jalr t9
_addu a0,s2,s5
or a2,s7,zero
addu s5,s5,v0
lw v0,0x84(sp)
lw t9,0x2c(sp)
or a3,t4,zero
or a1,s0,zero
sw v0,0x10(sp)
jalr t9
_or a0,s1,zero
slt v0,s5,s4
lw gp,0x20(sp)
bne v0,zero,0x000b8620
_or t4,s3,zero
lw s1,-0x7d78(gp)
b 0x000b8268
_addiu s1,s1,0x7c
lw t9,0x34(sp)
addu a0,s2,a2
sw a2,0x40(sp)
jalr t9
_or a1,s8,zero
lw a2,0x40(sp)
addu a2,a2,v0
slt v0,a2,s5
bne v0,zero,0x000b8424
_lw gp,0x20(sp)
b 0x000b84d0
_lw s1,-0x7d78(gp)
lw v0,0x3c(sp)
or a1,s3,zero
lw t9,0x34(sp)
sw a2,0x40(sp)
jalr t9
_addu a0,s2,v0
lw v1,0x3c(sp)
lw a3,0x5c(sp)
lw a2,0x40(sp)
addu v0,v1,v0
sw v0,0x3c(sp)
lw v0,0x74(sp)
addu a3,a3,v0
b 0x000b84a4
_sw a3,0x5c(sp)
lw v1,0x80(sp)
sw v1,0x30(sp)
lw v0,0x14(v1)
blez v0,0x000b87d0
_lw v0,-0x7fc4(gp)
addiu s3,v1,0x18
lw s5,-0x7fc4(gp)
or s4,zero,zero
addiu v0,v0,-0x4ca0
addiu s5,s5,-0x4c84
sw v0,0x34(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x1300
sw v0,0x3c(sp)
lw v0,0x4(s3)
or a3,s4,zero
lw a2,0x34(sp)
or a1,s0,zero
lw t9,0x2c(sp)
or a0,s1,zero
sw v0,0x14(sp)
lw v0,0x0(s3)
jalr t9
_sw v0,0x10(sp)
lw v0,0x4(s3)
blez v0,0x000b8798
_lw a2,0x3c(sp)
or s7,zero,zero
or s8,zero,zero
lw v0,0x8(s3)
or a2,s5,zero
lw t9,0x2c(sp)
or a1,s0,zero
or a0,s1,zero
addu v0,v0,s8
addiu s7,s7,0x1
addiu s8,s8,0xc
lw t2,0x8(v0)
lw a3,0x0(v0)
sw t2,0x14(sp)
lw v0,0x4(v0)
jalr t9
_sw v0,0x10(sp)
lw v0,0x4(s3)
slt v0,s7,v0
bne v0,zero,0x000b8750
_lw a2,0x3c(sp)
or a1,s0,zero
lw t9,0x2c(sp)
or a0,s1,zero
addiu s4,s4,0x1
jalr t9
_addiu s3,s3,0xc
lw v0,0x30(sp)
lw v0,0x14(v0)
slt v0,s4,v0
bne v0,zero,0x000b8714
_lw gp,0x20(sp)
lw v0,0x80(sp)
beq v0,zero,0x000b8260
_sw v0,0x30(sp)
lw v1,0x30(sp)
lw v0,0x0(v1)
addiu v0,v0,-0x1
bgtz v0,0x000b8260
_sw v0,0x0(v1)
lw t9,-0x7d7c(gp)
addiu t9,t9,0x380c
jalr t9
_lw a0,0x30(sp)
lw gp,0x20(sp)
lw s1,-0x7d78(gp)
b 0x000b82e8
_addiu s1,s1,0x7c
addiu v0,sp,0x80
sw zero,0x80(sp)
sw zero,0x64(sp)
or v1,v0,zero
sw v0,0x30(sp)
slti v0,s4,0x4
sw zero,0x4(v1)
bne v0,zero,0x000b8b3c
_sw zero,0x8(v1)
lbu v0,0x2(s2)
lbu v1,0x0(s2)
lbu a1,0x3(s2)
sll v0,v0,0x8
lbu a0,0x1(s2)
sll v1,v1,0x8
addu v0,v0,a1
addu v1,v1,a0
andi v0,v0,0xffff
sw v0,0x3c(sp)
slt v0,v0,s4
sw v0,0x44(sp)
bne v0,zero,0x000b8b08
_andi s3,v1,0xffff
lw v0,0x3c(sp)
slt v0,s4,v0
bne v0,zero,0x000b8ab8
_li v0,0x10b
beq s3,zero,0x000b8a88
_lw v0,0x3c(sp)
or s8,s3,zero
slt v0,s4,s8
bne v0,zero,0x000b8ab8
_li v0,0x10b
addiu s3,s8,-0x4
blez s3,0x000b88f0
_lw v0,-0x7d7c(gp)
addiu t0,sp,0x74
addiu v0,v0,0x610c
sw v0,0x34(sp)
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x556c
or s7,v0,zero
addiu a0,s5,0x4
lw t9,0x34(sp)
or a1,t0,zero
sw t0,0x40(sp)
jalr t9
_addu a0,s2,a0
or a2,s7,zero
lw a3,0x74(sp)
addu s5,s5,v0
lw t9,0x2c(sp)
or a1,s0,zero
jalr t9
_or a0,s1,zero
slt v0,s5,s3
lw gp,0x20(sp)
bne v0,zero,0x000b88ac
_lw t0,0x40(sp)
lw v0,0x3c(sp)
lw a3,0x64(sp)
movz a3,v0,a3
slt v0,s4,a3
bne v0,zero,0x000b8ab8
_li v0,0x10b
lw v0,-0x7cf4(gp)
subu a3,a3,s8
addu a2,s2,s8
or a1,s0,zero
addiu t9,v0,0x7e40
or a0,s1,zero
bal 0x000b7e40
_sw t9,0x48(sp)
lw v0,0x44(sp)
beq v0,zero,0x000b84cc
_lw gp,0x20(sp)
lw s5,0x58(sp)
bne s5,zero,0x000b84cc
_lw v0,-0x7d7c(gp)
addiu t0,sp,0x74
lw v1,0x3c(sp)
addiu v0,v0,0x610c
sw v0,0x34(sp)
lw v0,-0x7cf4(gp)
addiu v0,v0,-0x3854
sw v0,0x4c(sp)
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x4c6c
b 0x000b8a38
_sw v0,0x50(sp)
lw t9,0x34(sp)
or a1,t0,zero
jalr t9
_sw t0,0x44(sp)
lw a0,0x74(sp)
addu s8,s5,v0
lw v0,0x84(sp)
slt v0,v0,a0
bne v0,zero,0x000b8afc
_lw gp,0x20(sp)
lw t0,0x44(sp)
sw a0,0x84(sp)
addu a0,s2,s8
lw t9,0x34(sp)
or a1,t0,zero
jalr t9
_sw t0,0x44(sp)
lw a2,0x74(sp)
addu s8,s8,v0
addu v1,a2,s8
slt v1,s4,v1
bne v1,zero,0x000b8afc
_lw gp,0x20(sp)
lw a1,0x30(sp)
addu a3,s2,s8
lw t9,0x4c(sp)
jalr t9
_or a0,s1,zero
or a1,s0,zero
lw v1,0x74(sp)
or a0,s1,zero
lw a2,0x50(sp)
lw a3,0x84(sp)
addu s8,s8,v1
lw v1,0x80(sp)
lw t9,0x2c(sp)
jalr t9
_sw v1,0x10(sp)
addu a2,s2,s8
lw v0,0x40(sp)
or a1,s0,zero
lw t9,0x48(sp)
or a0,s1,zero
jalr t9
_subu a3,v0,s8
lw gp,0x20(sp)
beq s7,zero,0x000b84cc
_lw t0,0x44(sp)
lw v0,0x58(sp)
bne v0,zero,0x000b84cc
_or v1,s3,zero
lw t9,0x34(sp)
addu a0,s2,v1
sw v1,0x44(sp)
or a1,t0,zero
jalr t9
_sw t0,0x40(sp)
lw v1,0x44(sp)
lw t0,0x40(sp)
addu s3,v0,v1
lw v0,0x74(sp)
slt s7,s3,s4
bne s7,zero,0x000b8ac0
_addu s5,s5,v0
lw v0,0x3c(sp)
sw v0,0x40(sp)
lw v0,0x3c(sp)
bne v0,v1,0x000b896c
_addu a0,s2,s5
b 0x000b89a0
_or s8,s5,zero
b 0x000b887c
_or s8,v0,zero
lw v0,-0x7d7c(gp)
addiu a1,sp,0x5c
addiu t9,v0,0x610c
jalr t9
_addu a0,s2,s5
addu v0,s5,v0
lw gp,0x20(sp)
lw a3,0x5c(sp)
b 0x000b83c4
_sw v0,0x3c(sp)
b 0x000b8260
_sw v0,0x58(sp)
lw t9,0x34(sp)
addu a0,s2,s3
sw v1,0x54(sp)
or a1,t0,zero
jalr t9
_sw t0,0x44(sp)
lw v0,0x74(sp)
lw v1,0x3c(sp)
lw gp,0x20(sp)
addu v0,s5,v0
lw t0,0x44(sp)
sw v0,0x40(sp)
slt v0,v1,v0
beq v0,zero,0x000b8a74
_lw v1,0x54(sp)
li v0,0x10b
b 0x000b84cc
_sw v0,0x58(sp)
lw v0,-0x7d7c(gp)
addiu a1,sp,0x64
lw v1,0x3c(sp)
addiu t9,v0,0x610c
jalr t9
_addu a0,s2,v1
bne s3,zero,0x000b8878
_lw gp,0x20(sp)
lw v0,0x64(sp)
lw a0,0x3c(sp)
movz v0,a0,v0
b 0x000b887c
_or s8,v0,zero
lw a3,-0x7fc4(gp)
li a2,0x7
lw t9,-0x7cf4(gp)
or a0,s1,zero
or a1,s0,zero
sw zero,0x6c(sp)
addiu t9,t9,-0x3854
bal 0x000ac7ac
_addiu a3,a3,0xb5c
lw gp,0x20(sp)
lw s1,-0x7d78(gp)
b 0x000b82e8
_addiu s1,s1,0x7c
lw t9,-0x7b28(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nbyte *******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  byte *******pppppppbVar3;\n  uint uVar4;\n  int iVar5;\n  byte *******pppppppbVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  byte *******pppppppbVar11;\n  int iVar12;\n  byte ****ppppbVar13;\n  uint uVar14;\n  byte *pbVar15;\n  byte ******ppppppbVar16;\n  byte *******pppppppbVar17;\n  byte *******pppppppbVar18;\n  byte *******pppppppbVar19;\n  byte ******ppppppbVar20;\n  byte *****pppppbVar21;\n  byte ******ppppppbVar22;\n  undefined *puVar23;\n  undefined *unaff_s0;\n  int *piVar24;\n  byte ******ppppppbVar25;\n  code *pcVar26;\n  byte *******unaff_s3;\n  byte *******unaff_s4;\n  int *unaff_s5;\n  byte *pbVar27;\n  byte *******unaff_s6;\n  byte *******unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  byte *******pppppppbVar31;\n  int iVar32;\n  int iVar33;\n  byte *pbVar34;\n  undefined4 uVar35;\n  code *pcVar36;\n  undefined8 uVar37;\n  byte *******pppppppbStack_190;\n  byte *******pppppppbStack_18c;\n  code *pcStack_188;\n  byte *******pppppppbStack_180;\n  int iStack_17c;\n  byte *******pppppppbStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  byte *******pppppppbStack_160;\n  byte *******pppppppbStack_15c;\n  byte *******local_158;\n  byte ******local_154;\n  byte *******local_150;\n  undefined *local_148;\n  code *local_13c;\n  byte *******local_138;\n  code *local_134;\n  int *local_130;\n  byte *******local_12c;\n  byte *******local_128;\n  byte *******local_124;\n  code *local_120;\n  code *local_11c;\n  int local_118;\n  byte *******local_114;\n  byte *******local_110;\n  byte *******local_10c;\n  byte *******local_108;\n  byte *******local_104;\n  byte *******local_100;\n  byte *******local_fc;\n  undefined4 local_f8;\n  byte *******local_f4;\n  int local_f0;\n  byte *******local_e8;\n  byte *******local_e4;\n  int local_e0;\n  undefined4 local_dc;\n  byte *******local_d8;\n  undefined4 local_d4;\n  byte *******local_d0;\n  byte ******local_cc;\n  byte *******local_c4;\n  undefined *local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  byte *******local_b4;\n  byte *******local_b0;\n  int *local_ac;\n  byte *******local_a8;\n  byte *******local_a4;\n  byte *******local_a0;\n  undefined4 local_9c;\n  byte *******local_88;\n  uint local_84;\n  byte *******local_48;\n  int local_44;\n  byte *******local_40;\n  uint local_3c;\n  byte *******local_38;\n  int local_34;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  local_3c = 0;\n  local_40 = (byte *******)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pppppppbVar31 = (byte *******)0x0;\n  pppppppbVar6 = param_3;\n  pppppppbVar19 = param_4;\n  local_b4 = unaff_s3;\n  local_b0 = unaff_s4;\n  if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }\n  if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }\n  uVar35 = 0xb80e8;\n  iVar12 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  local_148 = puVar28 + 0xe0838;\n  local_130 = *(int **)(puVar28 + 0xd8d3c);\n  local_110 = (byte *******)0x0;\n  local_c4 = (byte *******)*local_130;\n  iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);\n  local_100 = (byte *******)0x0;\n  local_fc = (byte *******)0x0;\n  local_f8 = 0;\n  pppppppbVar18 = pppppppbVar6;\n  local_c0 = unaff_s0;\n  local_bc = param_1;\n  local_b8 = param_2;\n  local_ac = unaff_s5;\n  local_a8 = unaff_s6;\n  local_a4 = unaff_s7;\n  local_a0 = pppppppbVar31;\n  local_9c = uVar35;\n  uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);\n  uVar4 = (uint)((ulonglong)uVar37 >> 0x20);\n  uVar14 = (uint)uVar37;\n  iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);\n  uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);\n  if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }\n  pppppppbVar31 = (byte *******)&local_100;\n  (*pcVar26)();\n  if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }\n  pcVar29 = *(code **)(local_148 + -0x7b28);\n  pcVar36 = FUN_000b8b7c;\n  (*pcVar29)();\n  pcVar30 = pcVar29 + 0xdfda4;\n  piVar24 = *(int **)(pcVar29 + 0xd82a8);\n  iStack_17c = *piVar24;\n  pcStack_188 = pcVar30;\n  pppppppbStack_174 = (byte *******)&local_100;\n  pcStack_170 = pcVar26;\n  pcStack_16c = pcVar36;\n  pppppppbStack_160 = pppppppbVar18;\n  pppppppbStack_15c = pppppppbVar19;\n  if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }\n  if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar30 + -0x7b28);\n  iVar12 = iStack_17c;\n  (*pcVar26)();\n  pppppppbVar11 = (byte *******)&pppppppbStack_190;\n  piVar24 = *(int **)(pcVar26 + 0xd8208);\n  pppppppbVar17 = (byte *******)*piVar24;\n  pppppppbVar31 = pppppppbVar17;\n  pppppppbStack_190 = pppppppbVar18;\n  pppppppbStack_18c = pppppppbVar19;\n  if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }\n  pppppppbVar11 = (byte *******)*piVar24;\n  if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0xd81dc);\n  (*pcVar26)();\n  iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);\n  if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);\n  return (byte *******)0x0;\n}\n\n" comment (function_definition "byte *******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  byte *******pppppppbVar3;\n  uint uVar4;\n  int iVar5;\n  byte *******pppppppbVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  byte *******pppppppbVar11;\n  int iVar12;\n  byte ****ppppbVar13;\n  uint uVar14;\n  byte *pbVar15;\n  byte ******ppppppbVar16;\n  byte *******pppppppbVar17;\n  byte *******pppppppbVar18;\n  byte *******pppppppbVar19;\n  byte ******ppppppbVar20;\n  byte *****pppppbVar21;\n  byte ******ppppppbVar22;\n  undefined *puVar23;\n  undefined *unaff_s0;\n  int *piVar24;\n  byte ******ppppppbVar25;\n  code *pcVar26;\n  byte *******unaff_s3;\n  byte *******unaff_s4;\n  int *unaff_s5;\n  byte *pbVar27;\n  byte *******unaff_s6;\n  byte *******unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  byte *******pppppppbVar31;\n  int iVar32;\n  int iVar33;\n  byte *pbVar34;\n  undefined4 uVar35;\n  code *pcVar36;\n  undefined8 uVar37;\n  byte *******pppppppbStack_190;\n  byte *******pppppppbStack_18c;\n  code *pcStack_188;\n  byte *******pppppppbStack_180;\n  int iStack_17c;\n  byte *******pppppppbStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  byte *******pppppppbStack_160;\n  byte *******pppppppbStack_15c;\n  byte *******local_158;\n  byte ******local_154;\n  byte *******local_150;\n  undefined *local_148;\n  code *local_13c;\n  byte *******local_138;\n  code *local_134;\n  int *local_130;\n  byte *******local_12c;\n  byte *******local_128;\n  byte *******local_124;\n  code *local_120;\n  code *local_11c;\n  int local_118;\n  byte *******local_114;\n  byte *******local_110;\n  byte *******local_10c;\n  byte *******local_108;\n  byte *******local_104;\n  byte *******local_100;\n  byte *******local_fc;\n  undefined4 local_f8;\n  byte *******local_f4;\n  int local_f0;\n  byte *******local_e8;\n  byte *******local_e4;\n  int local_e0;\n  undefined4 local_dc;\n  byte *******local_d8;\n  undefined4 local_d4;\n  byte *******local_d0;\n  byte ******local_cc;\n  byte *******local_c4;\n  undefined *local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  byte *******local_b4;\n  byte *******local_b0;\n  int *local_ac;\n  byte *******local_a8;\n  byte *******local_a4;\n  byte *******local_a0;\n  undefined4 local_9c;\n  byte *******local_88;\n  uint local_84;\n  byte *******local_48;\n  int local_44;\n  byte *******local_40;\n  uint local_3c;\n  byte *******local_38;\n  int local_34;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  local_3c = 0;\n  local_40 = (byte *******)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pppppppbVar31 = (byte *******)0x0;\n  pppppppbVar6 = param_3;\n  pppppppbVar19 = param_4;\n  local_b4 = unaff_s3;\n  local_b0 = unaff_s4;\n  if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }\n  if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }\n  uVar35 = 0xb80e8;\n  iVar12 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  local_148 = puVar28 + 0xe0838;\n  local_130 = *(int **)(puVar28 + 0xd8d3c);\n  local_110 = (byte *******)0x0;\n  local_c4 = (byte *******)*local_130;\n  iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);\n  local_100 = (byte *******)0x0;\n  local_fc = (byte *******)0x0;\n  local_f8 = 0;\n  pppppppbVar18 = pppppppbVar6;\n  local_c0 = unaff_s0;\n  local_bc = param_1;\n  local_b8 = param_2;\n  local_ac = unaff_s5;\n  local_a8 = unaff_s6;\n  local_a4 = unaff_s7;\n  local_a0 = pppppppbVar31;\n  local_9c = uVar35;\n  uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);\n  uVar4 = (uint)((ulonglong)uVar37 >> 0x20);\n  uVar14 = (uint)uVar37;\n  iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);\n  uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);\n  if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }\n  pppppppbVar31 = (byte *******)&local_100;\n  (*pcVar26)();\n  if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }\n  pcVar29 = *(code **)(local_148 + -0x7b28);\n  pcVar36 = FUN_000b8b7c;\n  (*pcVar29)();\n  pcVar30 = pcVar29 + 0xdfda4;\n  piVar24 = *(int **)(pcVar29 + 0xd82a8);\n  iStack_17c = *piVar24;\n  pcStack_188 = pcVar30;\n  pppppppbStack_174 = (byte *******)&local_100;\n  pcStack_170 = pcVar26;\n  pcStack_16c = pcVar36;\n  pppppppbStack_160 = pppppppbVar18;\n  pppppppbStack_15c = pppppppbVar19;\n  if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }\n  if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar30 + -0x7b28);\n  iVar12 = iStack_17c;\n  (*pcVar26)();\n  pppppppbVar11 = (byte *******)&pppppppbStack_190;\n  piVar24 = *(int **)(pcVar26 + 0xd8208);\n  pppppppbVar17 = (byte *******)*piVar24;\n  pppppppbVar31 = pppppppbVar17;\n  pppppppbStack_190 = pppppppbVar18;\n  pppppppbStack_18c = pppppppbVar19;\n  if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }\n  pppppppbVar11 = (byte *******)*piVar24;\n  if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0xd81dc);\n  (*pcVar26)();\n  iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);\n  if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);\n  return (byte *******)0x0;\n}" type_identifier (pointer_declarator "*******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "*****\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "****\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "***\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "**\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "*\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (function_declarator "FUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "byte *******param_3" type_identifier (pointer_declarator "*******param_3" * (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))))) , (parameter_declaration "byte *******param_4" type_identifier (pointer_declarator "*******param_4" * (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier)))))))) )))))))))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  byte *******pppppppbVar3;\n  uint uVar4;\n  int iVar5;\n  byte *******pppppppbVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  byte *******pppppppbVar11;\n  int iVar12;\n  byte ****ppppbVar13;\n  uint uVar14;\n  byte *pbVar15;\n  byte ******ppppppbVar16;\n  byte *******pppppppbVar17;\n  byte *******pppppppbVar18;\n  byte *******pppppppbVar19;\n  byte ******ppppppbVar20;\n  byte *****pppppbVar21;\n  byte ******ppppppbVar22;\n  undefined *puVar23;\n  undefined *unaff_s0;\n  int *piVar24;\n  byte ******ppppppbVar25;\n  code *pcVar26;\n  byte *******unaff_s3;\n  byte *******unaff_s4;\n  int *unaff_s5;\n  byte *pbVar27;\n  byte *******unaff_s6;\n  byte *******unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  byte *******pppppppbVar31;\n  int iVar32;\n  int iVar33;\n  byte *pbVar34;\n  undefined4 uVar35;\n  code *pcVar36;\n  undefined8 uVar37;\n  byte *******pppppppbStack_190;\n  byte *******pppppppbStack_18c;\n  code *pcStack_188;\n  byte *******pppppppbStack_180;\n  int iStack_17c;\n  byte *******pppppppbStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  byte *******pppppppbStack_160;\n  byte *******pppppppbStack_15c;\n  byte *******local_158;\n  byte ******local_154;\n  byte *******local_150;\n  undefined *local_148;\n  code *local_13c;\n  byte *******local_138;\n  code *local_134;\n  int *local_130;\n  byte *******local_12c;\n  byte *******local_128;\n  byte *******local_124;\n  code *local_120;\n  code *local_11c;\n  int local_118;\n  byte *******local_114;\n  byte *******local_110;\n  byte *******local_10c;\n  byte *******local_108;\n  byte *******local_104;\n  byte *******local_100;\n  byte *******local_fc;\n  undefined4 local_f8;\n  byte *******local_f4;\n  int local_f0;\n  byte *******local_e8;\n  byte *******local_e4;\n  int local_e0;\n  undefined4 local_dc;\n  byte *******local_d8;\n  undefined4 local_d4;\n  byte *******local_d0;\n  byte ******local_cc;\n  byte *******local_c4;\n  undefined *local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  byte *******local_b4;\n  byte *******local_b0;\n  int *local_ac;\n  byte *******local_a8;\n  byte *******local_a4;\n  byte *******local_a0;\n  undefined4 local_9c;\n  byte *******local_88;\n  uint local_84;\n  byte *******local_48;\n  int local_44;\n  byte *******local_40;\n  uint local_3c;\n  byte *******local_38;\n  int local_34;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  local_3c = 0;\n  local_40 = (byte *******)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pppppppbVar31 = (byte *******)0x0;\n  pppppppbVar6 = param_3;\n  pppppppbVar19 = param_4;\n  local_b4 = unaff_s3;\n  local_b0 = unaff_s4;\n  if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }\n  if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }\n  uVar35 = 0xb80e8;\n  iVar12 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  local_148 = puVar28 + 0xe0838;\n  local_130 = *(int **)(puVar28 + 0xd8d3c);\n  local_110 = (byte *******)0x0;\n  local_c4 = (byte *******)*local_130;\n  iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);\n  local_100 = (byte *******)0x0;\n  local_fc = (byte *******)0x0;\n  local_f8 = 0;\n  pppppppbVar18 = pppppppbVar6;\n  local_c0 = unaff_s0;\n  local_bc = param_1;\n  local_b8 = param_2;\n  local_ac = unaff_s5;\n  local_a8 = unaff_s6;\n  local_a4 = unaff_s7;\n  local_a0 = pppppppbVar31;\n  local_9c = uVar35;\n  uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);\n  uVar4 = (uint)((ulonglong)uVar37 >> 0x20);\n  uVar14 = (uint)uVar37;\n  iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);\n  uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);\n  if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }\n  pppppppbVar31 = (byte *******)&local_100;\n  (*pcVar26)();\n  if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }\n  pcVar29 = *(code **)(local_148 + -0x7b28);\n  pcVar36 = FUN_000b8b7c;\n  (*pcVar29)();\n  pcVar30 = pcVar29 + 0xdfda4;\n  piVar24 = *(int **)(pcVar29 + 0xd82a8);\n  iStack_17c = *piVar24;\n  pcStack_188 = pcVar30;\n  pppppppbStack_174 = (byte *******)&local_100;\n  pcStack_170 = pcVar26;\n  pcStack_16c = pcVar36;\n  pppppppbStack_160 = pppppppbVar18;\n  pppppppbStack_15c = pppppppbVar19;\n  if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }\n  if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar30 + -0x7b28);\n  iVar12 = iStack_17c;\n  (*pcVar26)();\n  pppppppbVar11 = (byte *******)&pppppppbStack_190;\n  piVar24 = *(int **)(pcVar26 + 0xd8208);\n  pppppppbVar17 = (byte *******)*piVar24;\n  pppppppbVar31 = pppppppbVar17;\n  pppppppbStack_190 = pppppppbVar18;\n  pppppppbStack_18c = pppppppbVar19;\n  if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }\n  pppppppbVar11 = (byte *******)*piVar24;\n  if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0xd81dc);\n  (*pcVar26)();\n  iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);\n  if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);\n  return (byte *******)0x0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte *******pppppppbVar3;" type_identifier (pointer_declarator "*******pppppppbVar3" * (pointer_declarator "******pppppppbVar3" * (pointer_declarator "*****pppppppbVar3" * (pointer_declarator "****pppppppbVar3" * (pointer_declarator "***pppppppbVar3" * (pointer_declarator "**pppppppbVar3" * (pointer_declarator "*pppppppbVar3" * identifier))))))) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "byte *******pppppppbVar6;" type_identifier (pointer_declarator "*******pppppppbVar6" * (pointer_declarator "******pppppppbVar6" * (pointer_declarator "*****pppppppbVar6" * (pointer_declarator "****pppppppbVar6" * (pointer_declarator "***pppppppbVar6" * (pointer_declarator "**pppppppbVar6" * (pointer_declarator "*pppppppbVar6" * identifier))))))) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "byte *******pppppppbVar11;" type_identifier (pointer_declarator "*******pppppppbVar11" * (pointer_declarator "******pppppppbVar11" * (pointer_declarator "*****pppppppbVar11" * (pointer_declarator "****pppppppbVar11" * (pointer_declarator "***pppppppbVar11" * (pointer_declarator "**pppppppbVar11" * (pointer_declarator "*pppppppbVar11" * identifier))))))) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "byte ****ppppbVar13;" type_identifier (pointer_declarator "****ppppbVar13" * (pointer_declarator "***ppppbVar13" * (pointer_declarator "**ppppbVar13" * (pointer_declarator "*ppppbVar13" * identifier)))) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "byte ******ppppppbVar16;" type_identifier (pointer_declarator "******ppppppbVar16" * (pointer_declarator "*****ppppppbVar16" * (pointer_declarator "****ppppppbVar16" * (pointer_declarator "***ppppppbVar16" * (pointer_declarator "**ppppppbVar16" * (pointer_declarator "*ppppppbVar16" * identifier)))))) ;) (declaration "byte *******pppppppbVar17;" type_identifier (pointer_declarator "*******pppppppbVar17" * (pointer_declarator "******pppppppbVar17" * (pointer_declarator "*****pppppppbVar17" * (pointer_declarator "****pppppppbVar17" * (pointer_declarator "***pppppppbVar17" * (pointer_declarator "**pppppppbVar17" * (pointer_declarator "*pppppppbVar17" * identifier))))))) ;) (declaration "byte *******pppppppbVar18;" type_identifier (pointer_declarator "*******pppppppbVar18" * (pointer_declarator "******pppppppbVar18" * (pointer_declarator "*****pppppppbVar18" * (pointer_declarator "****pppppppbVar18" * (pointer_declarator "***pppppppbVar18" * (pointer_declarator "**pppppppbVar18" * (pointer_declarator "*pppppppbVar18" * identifier))))))) ;) (declaration "byte *******pppppppbVar19;" type_identifier (pointer_declarator "*******pppppppbVar19" * (pointer_declarator "******pppppppbVar19" * (pointer_declarator "*****pppppppbVar19" * (pointer_declarator "****pppppppbVar19" * (pointer_declarator "***pppppppbVar19" * (pointer_declarator "**pppppppbVar19" * (pointer_declarator "*pppppppbVar19" * identifier))))))) ;) (declaration "byte ******ppppppbVar20;" type_identifier (pointer_declarator "******ppppppbVar20" * (pointer_declarator "*****ppppppbVar20" * (pointer_declarator "****ppppppbVar20" * (pointer_declarator "***ppppppbVar20" * (pointer_declarator "**ppppppbVar20" * (pointer_declarator "*ppppppbVar20" * identifier)))))) ;) (declaration "byte *****pppppbVar21;" type_identifier (pointer_declarator "*****pppppbVar21" * (pointer_declarator "****pppppbVar21" * (pointer_declarator "***pppppbVar21" * (pointer_declarator "**pppppbVar21" * (pointer_declarator "*pppppbVar21" * identifier))))) ;) (declaration "byte ******ppppppbVar22;" type_identifier (pointer_declarator "******ppppppbVar22" * (pointer_declarator "*****ppppppbVar22" * (pointer_declarator "****ppppppbVar22" * (pointer_declarator "***ppppppbVar22" * (pointer_declarator "**ppppppbVar22" * (pointer_declarator "*ppppppbVar22" * identifier)))))) ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "byte ******ppppppbVar25;" type_identifier (pointer_declarator "******ppppppbVar25" * (pointer_declarator "*****ppppppbVar25" * (pointer_declarator "****ppppppbVar25" * (pointer_declarator "***ppppppbVar25" * (pointer_declarator "**ppppppbVar25" * (pointer_declarator "*ppppppbVar25" * identifier)))))) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "byte *******unaff_s3;" type_identifier (pointer_declarator "*******unaff_s3" * (pointer_declarator "******unaff_s3" * (pointer_declarator "*****unaff_s3" * (pointer_declarator "****unaff_s3" * (pointer_declarator "***unaff_s3" * (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier))))))) ;) (declaration "byte *******unaff_s4;" type_identifier (pointer_declarator "*******unaff_s4" * (pointer_declarator "******unaff_s4" * (pointer_declarator "*****unaff_s4" * (pointer_declarator "****unaff_s4" * (pointer_declarator "***unaff_s4" * (pointer_declarator "**unaff_s4" * (pointer_declarator "*unaff_s4" * identifier))))))) ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "byte *pbVar27;" type_identifier (pointer_declarator "*pbVar27" * identifier) ;) (declaration "byte *******unaff_s6;" type_identifier (pointer_declarator "*******unaff_s6" * (pointer_declarator "******unaff_s6" * (pointer_declarator "*****unaff_s6" * (pointer_declarator "****unaff_s6" * (pointer_declarator "***unaff_s6" * (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier))))))) ;) (declaration "byte *******unaff_s7;" type_identifier (pointer_declarator "*******unaff_s7" * (pointer_declarator "******unaff_s7" * (pointer_declarator "*****unaff_s7" * (pointer_declarator "****unaff_s7" * (pointer_declarator "***unaff_s7" * (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier))))))) ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "byte *******pppppppbVar31;" type_identifier (pointer_declarator "*******pppppppbVar31" * (pointer_declarator "******pppppppbVar31" * (pointer_declarator "*****pppppppbVar31" * (pointer_declarator "****pppppppbVar31" * (pointer_declarator "***pppppppbVar31" * (pointer_declarator "**pppppppbVar31" * (pointer_declarator "*pppppppbVar31" * identifier))))))) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "byte *pbVar34;" type_identifier (pointer_declarator "*pbVar34" * identifier) ;) (declaration "undefined4 uVar35;" type_identifier identifier ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "undefined8 uVar37;" type_identifier identifier ;) (declaration "byte *******pppppppbStack_190;" type_identifier (pointer_declarator "*******pppppppbStack_190" * (pointer_declarator "******pppppppbStack_190" * (pointer_declarator "*****pppppppbStack_190" * (pointer_declarator "****pppppppbStack_190" * (pointer_declarator "***pppppppbStack_190" * (pointer_declarator "**pppppppbStack_190" * (pointer_declarator "*pppppppbStack_190" * identifier))))))) ;) (declaration "byte *******pppppppbStack_18c;" type_identifier (pointer_declarator "*******pppppppbStack_18c" * (pointer_declarator "******pppppppbStack_18c" * (pointer_declarator "*****pppppppbStack_18c" * (pointer_declarator "****pppppppbStack_18c" * (pointer_declarator "***pppppppbStack_18c" * (pointer_declarator "**pppppppbStack_18c" * (pointer_declarator "*pppppppbStack_18c" * identifier))))))) ;) (declaration "code *pcStack_188;" type_identifier (pointer_declarator "*pcStack_188" * identifier) ;) (declaration "byte *******pppppppbStack_180;" type_identifier (pointer_declarator "*******pppppppbStack_180" * (pointer_declarator "******pppppppbStack_180" * (pointer_declarator "*****pppppppbStack_180" * (pointer_declarator "****pppppppbStack_180" * (pointer_declarator "***pppppppbStack_180" * (pointer_declarator "**pppppppbStack_180" * (pointer_declarator "*pppppppbStack_180" * identifier))))))) ;) (declaration "int iStack_17c;" primitive_type identifier ;) (declaration "byte *******pppppppbStack_174;" type_identifier (pointer_declarator "*******pppppppbStack_174" * (pointer_declarator "******pppppppbStack_174" * (pointer_declarator "*****pppppppbStack_174" * (pointer_declarator "****pppppppbStack_174" * (pointer_declarator "***pppppppbStack_174" * (pointer_declarator "**pppppppbStack_174" * (pointer_declarator "*pppppppbStack_174" * identifier))))))) ;) (declaration "code *pcStack_170;" type_identifier (pointer_declarator "*pcStack_170" * identifier) ;) (declaration "code *pcStack_16c;" type_identifier (pointer_declarator "*pcStack_16c" * identifier) ;) (declaration "byte *******pppppppbStack_160;" type_identifier (pointer_declarator "*******pppppppbStack_160" * (pointer_declarator "******pppppppbStack_160" * (pointer_declarator "*****pppppppbStack_160" * (pointer_declarator "****pppppppbStack_160" * (pointer_declarator "***pppppppbStack_160" * (pointer_declarator "**pppppppbStack_160" * (pointer_declarator "*pppppppbStack_160" * identifier))))))) ;) (declaration "byte *******pppppppbStack_15c;" type_identifier (pointer_declarator "*******pppppppbStack_15c" * (pointer_declarator "******pppppppbStack_15c" * (pointer_declarator "*****pppppppbStack_15c" * (pointer_declarator "****pppppppbStack_15c" * (pointer_declarator "***pppppppbStack_15c" * (pointer_declarator "**pppppppbStack_15c" * (pointer_declarator "*pppppppbStack_15c" * identifier))))))) ;) (declaration "byte *******local_158;" type_identifier (pointer_declarator "*******local_158" * (pointer_declarator "******local_158" * (pointer_declarator "*****local_158" * (pointer_declarator "****local_158" * (pointer_declarator "***local_158" * (pointer_declarator "**local_158" * (pointer_declarator "*local_158" * identifier))))))) ;) (declaration "byte ******local_154;" type_identifier (pointer_declarator "******local_154" * (pointer_declarator "*****local_154" * (pointer_declarator "****local_154" * (pointer_declarator "***local_154" * (pointer_declarator "**local_154" * (pointer_declarator "*local_154" * identifier)))))) ;) (declaration "byte *******local_150;" type_identifier (pointer_declarator "*******local_150" * (pointer_declarator "******local_150" * (pointer_declarator "*****local_150" * (pointer_declarator "****local_150" * (pointer_declarator "***local_150" * (pointer_declarator "**local_150" * (pointer_declarator "*local_150" * identifier))))))) ;) (declaration "undefined *local_148;" type_identifier (pointer_declarator "*local_148" * identifier) ;) (declaration "code *local_13c;" type_identifier (pointer_declarator "*local_13c" * identifier) ;) (declaration "byte *******local_138;" type_identifier (pointer_declarator "*******local_138" * (pointer_declarator "******local_138" * (pointer_declarator "*****local_138" * (pointer_declarator "****local_138" * (pointer_declarator "***local_138" * (pointer_declarator "**local_138" * (pointer_declarator "*local_138" * identifier))))))) ;) (declaration "code *local_134;" type_identifier (pointer_declarator "*local_134" * identifier) ;) (declaration "int *local_130;" primitive_type (pointer_declarator "*local_130" * identifier) ;) (declaration "byte *******local_12c;" type_identifier (pointer_declarator "*******local_12c" * (pointer_declarator "******local_12c" * (pointer_declarator "*****local_12c" * (pointer_declarator "****local_12c" * (pointer_declarator "***local_12c" * (pointer_declarator "**local_12c" * (pointer_declarator "*local_12c" * identifier))))))) ;) (declaration "byte *******local_128;" type_identifier (pointer_declarator "*******local_128" * (pointer_declarator "******local_128" * (pointer_declarator "*****local_128" * (pointer_declarator "****local_128" * (pointer_declarator "***local_128" * (pointer_declarator "**local_128" * (pointer_declarator "*local_128" * identifier))))))) ;) (declaration "byte *******local_124;" type_identifier (pointer_declarator "*******local_124" * (pointer_declarator "******local_124" * (pointer_declarator "*****local_124" * (pointer_declarator "****local_124" * (pointer_declarator "***local_124" * (pointer_declarator "**local_124" * (pointer_declarator "*local_124" * identifier))))))) ;) (declaration "code *local_120;" type_identifier (pointer_declarator "*local_120" * identifier) ;) (declaration "code *local_11c;" type_identifier (pointer_declarator "*local_11c" * identifier) ;) (declaration "int local_118;" primitive_type identifier ;) (declaration "byte *******local_114;" type_identifier (pointer_declarator "*******local_114" * (pointer_declarator "******local_114" * (pointer_declarator "*****local_114" * (pointer_declarator "****local_114" * (pointer_declarator "***local_114" * (pointer_declarator "**local_114" * (pointer_declarator "*local_114" * identifier))))))) ;) (declaration "byte *******local_110;" type_identifier (pointer_declarator "*******local_110" * (pointer_declarator "******local_110" * (pointer_declarator "*****local_110" * (pointer_declarator "****local_110" * (pointer_declarator "***local_110" * (pointer_declarator "**local_110" * (pointer_declarator "*local_110" * identifier))))))) ;) (declaration "byte *******local_10c;" type_identifier (pointer_declarator "*******local_10c" * (pointer_declarator "******local_10c" * (pointer_declarator "*****local_10c" * (pointer_declarator "****local_10c" * (pointer_declarator "***local_10c" * (pointer_declarator "**local_10c" * (pointer_declarator "*local_10c" * identifier))))))) ;) (declaration "byte *******local_108;" type_identifier (pointer_declarator "*******local_108" * (pointer_declarator "******local_108" * (pointer_declarator "*****local_108" * (pointer_declarator "****local_108" * (pointer_declarator "***local_108" * (pointer_declarator "**local_108" * (pointer_declarator "*local_108" * identifier))))))) ;) (declaration "byte *******local_104;" type_identifier (pointer_declarator "*******local_104" * (pointer_declarator "******local_104" * (pointer_declarator "*****local_104" * (pointer_declarator "****local_104" * (pointer_declarator "***local_104" * (pointer_declarator "**local_104" * (pointer_declarator "*local_104" * identifier))))))) ;) (declaration "byte *******local_100;" type_identifier (pointer_declarator "*******local_100" * (pointer_declarator "******local_100" * (pointer_declarator "*****local_100" * (pointer_declarator "****local_100" * (pointer_declarator "***local_100" * (pointer_declarator "**local_100" * (pointer_declarator "*local_100" * identifier))))))) ;) (declaration "byte *******local_fc;" type_identifier (pointer_declarator "*******local_fc" * (pointer_declarator "******local_fc" * (pointer_declarator "*****local_fc" * (pointer_declarator "****local_fc" * (pointer_declarator "***local_fc" * (pointer_declarator "**local_fc" * (pointer_declarator "*local_fc" * identifier))))))) ;) (declaration "undefined4 local_f8;" type_identifier identifier ;) (declaration "byte *******local_f4;" type_identifier (pointer_declarator "*******local_f4" * (pointer_declarator "******local_f4" * (pointer_declarator "*****local_f4" * (pointer_declarator "****local_f4" * (pointer_declarator "***local_f4" * (pointer_declarator "**local_f4" * (pointer_declarator "*local_f4" * identifier))))))) ;) (declaration "int local_f0;" primitive_type identifier ;) (declaration "byte *******local_e8;" type_identifier (pointer_declarator "*******local_e8" * (pointer_declarator "******local_e8" * (pointer_declarator "*****local_e8" * (pointer_declarator "****local_e8" * (pointer_declarator "***local_e8" * (pointer_declarator "**local_e8" * (pointer_declarator "*local_e8" * identifier))))))) ;) (declaration "byte *******local_e4;" type_identifier (pointer_declarator "*******local_e4" * (pointer_declarator "******local_e4" * (pointer_declarator "*****local_e4" * (pointer_declarator "****local_e4" * (pointer_declarator "***local_e4" * (pointer_declarator "**local_e4" * (pointer_declarator "*local_e4" * identifier))))))) ;) (declaration "int local_e0;" primitive_type identifier ;) (declaration "undefined4 local_dc;" type_identifier identifier ;) (declaration "byte *******local_d8;" type_identifier (pointer_declarator "*******local_d8" * (pointer_declarator "******local_d8" * (pointer_declarator "*****local_d8" * (pointer_declarator "****local_d8" * (pointer_declarator "***local_d8" * (pointer_declarator "**local_d8" * (pointer_declarator "*local_d8" * identifier))))))) ;) (declaration "undefined4 local_d4;" type_identifier identifier ;) (declaration "byte *******local_d0;" type_identifier (pointer_declarator "*******local_d0" * (pointer_declarator "******local_d0" * (pointer_declarator "*****local_d0" * (pointer_declarator "****local_d0" * (pointer_declarator "***local_d0" * (pointer_declarator "**local_d0" * (pointer_declarator "*local_d0" * identifier))))))) ;) (declaration "byte ******local_cc;" type_identifier (pointer_declarator "******local_cc" * (pointer_declarator "*****local_cc" * (pointer_declarator "****local_cc" * (pointer_declarator "***local_cc" * (pointer_declarator "**local_cc" * (pointer_declarator "*local_cc" * identifier)))))) ;) (declaration "byte *******local_c4;" type_identifier (pointer_declarator "*******local_c4" * (pointer_declarator "******local_c4" * (pointer_declarator "*****local_c4" * (pointer_declarator "****local_c4" * (pointer_declarator "***local_c4" * (pointer_declarator "**local_c4" * (pointer_declarator "*local_c4" * identifier))))))) ;) (declaration "undefined *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "undefined4 local_bc;" type_identifier identifier ;) (declaration "undefined4 local_b8;" type_identifier identifier ;) (declaration "byte *******local_b4;" type_identifier (pointer_declarator "*******local_b4" * (pointer_declarator "******local_b4" * (pointer_declarator "*****local_b4" * (pointer_declarator "****local_b4" * (pointer_declarator "***local_b4" * (pointer_declarator "**local_b4" * (pointer_declarator "*local_b4" * identifier))))))) ;) (declaration "byte *******local_b0;" type_identifier (pointer_declarator "*******local_b0" * (pointer_declarator "******local_b0" * (pointer_declarator "*****local_b0" * (pointer_declarator "****local_b0" * (pointer_declarator "***local_b0" * (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier))))))) ;) (declaration "int *local_ac;" primitive_type (pointer_declarator "*local_ac" * identifier) ;) (declaration "byte *******local_a8;" type_identifier (pointer_declarator "*******local_a8" * (pointer_declarator "******local_a8" * (pointer_declarator "*****local_a8" * (pointer_declarator "****local_a8" * (pointer_declarator "***local_a8" * (pointer_declarator "**local_a8" * (pointer_declarator "*local_a8" * identifier))))))) ;) (declaration "byte *******local_a4;" type_identifier (pointer_declarator "*******local_a4" * (pointer_declarator "******local_a4" * (pointer_declarator "*****local_a4" * (pointer_declarator "****local_a4" * (pointer_declarator "***local_a4" * (pointer_declarator "**local_a4" * (pointer_declarator "*local_a4" * identifier))))))) ;) (declaration "byte *******local_a0;" type_identifier (pointer_declarator "*******local_a0" * (pointer_declarator "******local_a0" * (pointer_declarator "*****local_a0" * (pointer_declarator "****local_a0" * (pointer_declarator "***local_a0" * (pointer_declarator "**local_a0" * (pointer_declarator "*local_a0" * identifier))))))) ;) (declaration "undefined4 local_9c;" type_identifier identifier ;) (declaration "byte *******local_88;" type_identifier (pointer_declarator "*******local_88" * (pointer_declarator "******local_88" * (pointer_declarator "*****local_88" * (pointer_declarator "****local_88" * (pointer_declarator "***local_88" * (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier))))))) ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "byte *******local_48;" type_identifier (pointer_declarator "*******local_48" * (pointer_declarator "******local_48" * (pointer_declarator "*****local_48" * (pointer_declarator "****local_48" * (pointer_declarator "***local_48" * (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier))))))) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "byte *******local_40;" type_identifier (pointer_declarator "*******local_40" * (pointer_declarator "******local_40" * (pointer_declarator "*****local_40" * (pointer_declarator "****local_40" * (pointer_declarator "***local_40" * (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier))))))) ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "byte *******local_38;" type_identifier (pointer_declarator "*******local_38" * (pointer_declarator "******local_38" * (pointer_declarator "*****local_38" * (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier))))))) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_40 = (byte *******)0x0;" (assignment_expression "local_40 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pppppppbVar31 = (byte *******)0x0;" (assignment_expression "pppppppbVar31 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar6 = param_3;" (assignment_expression "pppppppbVar6 = param_3" identifier = identifier) ;) (expression_statement "pppppppbVar19 = param_4;" (assignment_expression "pppppppbVar19 = param_4" identifier = identifier) ;) (expression_statement "local_b4 = unaff_s3;" (assignment_expression "local_b4 = unaff_s3" identifier = identifier) ;) (expression_statement "local_b0 = unaff_s4;" (assignment_expression "local_b0 = unaff_s4" identifier = identifier) ;) (if_statement "if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }" if (parenthesized_expression "(0 < (int)param_4)" ( (binary_expression "0 < (int)param_4" number_literal < (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }" { (expression_statement "pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);" (assignment_expression "pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + -0x80)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + -0x80)" ( (binary_expression "PTR_LAB_00190b40 + -0x80" identifier + number_literal) )))) ;) (expression_statement "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);" (assignment_expression "pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40)" identifier = (cast_expression "(byte *******)(*pcVar26)(param_3,&local_40)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*pcVar26)(param_3,&local_40)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(param_3,&local_40)" ( identifier , (pointer_expression "&local_40" & identifier) ))))) ;) (expression_statement "unaff_s0 = PTR_LAB_00190c2c;" (assignment_expression "unaff_s0 = PTR_LAB_00190c2c" identifier = identifier) ;) (expression_statement "pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);" (assignment_expression "pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc)" identifier = (cast_expression "(byte *******)(puVar23 + -0x4cdc)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar23 + -0x4cdc)" ( (binary_expression "puVar23 + -0x4cdc" identifier + number_literal) )))) ;) (expression_statement "local_84 = local_3c;" (assignment_expression "local_84 = local_3c" identifier = identifier) ;) (expression_statement "local_88 = local_40;" (assignment_expression "local_88 = local_40" identifier = identifier) ;) (expression_statement "pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);" (assignment_expression "pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + 0x7b38)" ( (binary_expression "PTR_LAB_00190c2c + 0x7b38" identifier + number_literal) )))) ;) (expression_statement "FUN_000b7b38(param_1,param_2);" (call_expression "FUN_000b7b38(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) (expression_statement "puVar1 = PTR_LAB_00190ba4;" (assignment_expression "puVar1 = PTR_LAB_00190ba4" identifier = identifier) ;) (expression_statement "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "local_b4 = param_3;" (assignment_expression "local_b4 = param_3" identifier = identifier) ;) (expression_statement "local_b0 = param_4;" (assignment_expression "local_b0 = param_4" identifier = identifier) ;) (if_statement "if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }" if (parenthesized_expression "((int)pppppppbVar31 < (int)param_4)" ( (binary_expression "(int)pppppppbVar31 < (int)param_4" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }" { (expression_statement "unaff_s5 = &local_44;" (assignment_expression "unaff_s5 = &local_44" identifier = (pointer_expression "&local_44" & identifier)) ;) (expression_statement "unaff_s6 = (byte *******)&local_48;" (assignment_expression "unaff_s6 = (byte *******)&local_48" identifier = (cast_expression "(byte *******)&local_48" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_48" & identifier))) ;) (expression_statement "unaff_s7 = (byte *******)&local_38;" (assignment_expression "unaff_s7 = (byte *******)&local_38" identifier = (cast_expression "(byte *******)&local_38" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_38" & identifier))) ;) (expression_statement "pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);" (assignment_expression "pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x61f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + 0x61f0)" ( (binary_expression "PTR_LAB_00190ba4 + 0x61f0" identifier + number_literal) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);" (assignment_expression "pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" identifier = (cast_expression "(byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390" identifier + number_literal) )))) ;) (expression_statement "pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);" (assignment_expression "pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8)" identifier = (cast_expression "(byte *******)(PTR_LAB_00190958 + 0x30a8)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_LAB_00190958 + 0x30a8)" ( (binary_expression "PTR_LAB_00190958 + 0x30a8" identifier + number_literal) )))) ;) (expression_statement "pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);" (assignment_expression "pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" identifier = (cast_expression "(byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c" identifier + number_literal) )))) ;) (do_statement "do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);" do (compound_statement "{\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      }" { (expression_statement "iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);" (assignment_expression "iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5)" identifier = (call_expression "(*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5)" ( (cast_expression "(byte *)((int)param_3 + (int)pppppppbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + (int)pppppppbVar31)" ( (binary_expression "(int)param_3 + (int)pppppppbVar31" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier , identifier )))) ;) (expression_statement "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);" (assignment_expression "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12)" identifier = (cast_expression "(byte *******)((int)pppppppbVar31 + iVar12)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar31 + iVar12)" ( (binary_expression "(int)pppppppbVar31 + iVar12" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);" (assignment_expression "pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0)" identifier = (cast_expression "(byte *******)(puVar23 + -0x4cd0)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar23 + -0x4cd0)" ( (binary_expression "puVar23 + -0x4cd0" identifier + number_literal) )))) ;) (expression_statement "local_88 = pppppppbVar11;" (assignment_expression "local_88 = pppppppbVar11" identifier = identifier) ;) (if_statement "if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (compound_statement "{\n          local_88 = pppppppbVar18;\n        }" { (expression_statement "local_88 = pppppppbVar18;" (assignment_expression "local_88 = pppppppbVar18" identifier = identifier) ;) })) (expression_statement "pppppppbVar19 = local_48;" (assignment_expression "pppppppbVar19 = local_48" identifier = identifier) ;) (expression_statement "(*pcVar30)(param_1,param_2);" (call_expression "(*pcVar30)(param_1,param_2)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) (expression_statement "pppppppbVar3 = local_48;" (assignment_expression "pppppppbVar3 = local_48" identifier = identifier) ;) (if_statement "if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }" if (parenthesized_expression "((int)param_4 - (int)pppppppbVar31 <= (int)local_48)" ( (binary_expression "(int)param_4 - (int)pppppppbVar31 <= (int)local_48" (binary_expression "(int)param_4 - (int)pppppppbVar31" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) <= (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }" { (expression_statement "pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);" (assignment_expression "pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31)" identifier = (cast_expression "(byte *******)((int)param_4 - (int)pppppppbVar31)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_4 - (int)pppppppbVar31)" ( (binary_expression "(int)param_4 - (int)pppppppbVar31" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (if_statement "if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }" if (parenthesized_expression "(0 < (int)pppppppbVar3)" ( (binary_expression "0 < (int)pppppppbVar3" number_literal < (cast_expression "(int)pppppppbVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }" { (expression_statement "unaff_s0 = (undefined *)0x0;" (assignment_expression "unaff_s0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);" do (compound_statement "{\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          }" { (expression_statement "iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);" (assignment_expression "iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7)" identifier = (call_expression "(*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7)" (parenthesized_expression "(*(code *)(puVar1 + 0x610c))" ( (pointer_expression "*(code *)(puVar1 + 0x610c)" * (cast_expression "(code *)(puVar1 + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x610c)" ( (binary_expression "puVar1 + 0x610c" identifier + number_literal) )))) )) (argument_list "((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7)" ( (cast_expression "(byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31))" ( (binary_expression "(int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s0 + (int)pppppppbVar31)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s0 + (int)pppppppbVar31)" ( (binary_expression "unaff_s0 + (int)pppppppbVar31" identifier + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) , identifier )))) ;) (expression_statement "unaff_s0 = unaff_s0 + iVar12;" (assignment_expression "unaff_s0 = unaff_s0 + iVar12" identifier = (binary_expression "unaff_s0 + iVar12" identifier + identifier)) ;) (expression_statement "pppppppbVar6 = pppppppbVar17;" (assignment_expression "pppppppbVar6 = pppppppbVar17" identifier = identifier) ;) (expression_statement "pppppppbVar19 = local_38;" (assignment_expression "pppppppbVar19 = local_38" identifier = identifier) ;) (expression_statement "(*pcVar30)(param_1,param_2);" (call_expression "(*pcVar30)(param_1,param_2)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "((int)unaff_s0 < (int)pppppppbVar3)" ( (binary_expression "(int)unaff_s0 < (int)pppppppbVar3" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppppbVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);" (assignment_expression "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0)" identifier = (cast_expression "(byte *******)((int)pppppppbVar31 + (int)unaff_s0)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar31 + (int)unaff_s0)" ( (binary_expression "(int)pppppppbVar31 + (int)unaff_s0" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (if_statement "if ((int)param_4 <= (int)pppppppbVar31) break;" if (parenthesized_expression "((int)param_4 <= (int)pppppppbVar31)" ( (binary_expression "(int)param_4 <= (int)pppppppbVar31" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);" (assignment_expression "iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7)" identifier = (call_expression "(*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7)" ( (cast_expression "(byte *)((int)param_3 + (int)pppppppbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + (int)pppppppbVar31)" ( (binary_expression "(int)param_3 + (int)pppppppbVar31" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier )))) ;) (expression_statement "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);" (assignment_expression "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12)" identifier = (cast_expression "(byte *******)((int)pppppppbVar31 + iVar12)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar31 + iVar12)" ( (binary_expression "(int)pppppppbVar31 + iVar12" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_84 = local_3c + local_34;" (assignment_expression "local_84 = local_3c + local_34" identifier = (binary_expression "local_3c + local_34" identifier + identifier)) ;) (expression_statement "pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));" (assignment_expression "pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c))" identifier = (cast_expression "(byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c))" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c))" ( (binary_expression "(byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c)" (cast_expression "(byte *)((int)local_40 + (int)local_38)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_40 + (int)local_38)" ( (binary_expression "(int)local_40 + (int)local_38" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (parenthesized_expression "(local_84 < local_3c)" ( (binary_expression "local_84 < local_3c" identifier < identifier) ))) )))) ;) (expression_statement "pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);" (assignment_expression "pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc)" identifier = (cast_expression "(byte *******)(puVar28 + -0x4cdc)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar28 + -0x4cdc)" ( (binary_expression "puVar28 + -0x4cdc" identifier + number_literal) )))) ;) (expression_statement "local_88 = pppppppbVar19;" (assignment_expression "local_88 = pppppppbVar19" identifier = identifier) ;) (expression_statement "local_40 = pppppppbVar19;" (assignment_expression "local_40 = pppppppbVar19" identifier = identifier) ;) (expression_statement "local_3c = local_84;" (assignment_expression "local_3c = local_84" identifier = identifier) ;) (expression_statement "(*pcVar30)(param_1,param_2);" (call_expression "(*pcVar30)(param_1,param_2)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "((int)pppppppbVar31 < (int)param_4)" ( (binary_expression "(int)pppppppbVar31 < (int)param_4" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) })) (if_statement "if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar2)" ( (binary_expression "local_2c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return pppppppbVar31;\n  }" { (return_statement "return pppppppbVar31;" return identifier ;) })) (expression_statement "uVar35 = 0xb80e8;" (assignment_expression "uVar35 = 0xb80e8" identifier = number_literal) ;) (expression_statement "iVar12 = local_2c;" (assignment_expression "iVar12 = local_2c" identifier = identifier) ;) (expression_statement "puVar28 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar28 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_148 = puVar28 + 0xe0838;" (assignment_expression "local_148 = puVar28 + 0xe0838" identifier = (binary_expression "puVar28 + 0xe0838" identifier + number_literal)) ;) (expression_statement "local_130 = *(int **)(puVar28 + 0xd8d3c);" (assignment_expression "local_130 = *(int **)(puVar28 + 0xd8d3c)" identifier = (pointer_expression "*(int **)(puVar28 + 0xd8d3c)" * (cast_expression "(int **)(puVar28 + 0xd8d3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xd8d3c)" ( (binary_expression "puVar28 + 0xd8d3c" identifier + number_literal) ))))) ;) (expression_statement "local_110 = (byte *******)0x0;" (assignment_expression "local_110 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_c4 = (byte *******)*local_130;" (assignment_expression "local_c4 = (byte *******)*local_130" identifier = (cast_expression "(byte *******)*local_130" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*local_130" * identifier))) ;) (expression_statement "iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);" (assignment_expression "iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8)" identifier = (pointer_expression "*(int *)(*(int *)(iVar12 + 4) + 8)" * (cast_expression "(int *)(*(int *)(iVar12 + 4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + 4) + 8)" ( (binary_expression "*(int *)(iVar12 + 4) + 8" (pointer_expression "*(int *)(iVar12 + 4)" * (cast_expression "(int *)(iVar12 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "local_100 = (byte *******)0x0;" (assignment_expression "local_100 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_fc = (byte *******)0x0;" (assignment_expression "local_fc = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) (expression_statement "pppppppbVar18 = pppppppbVar6;" (assignment_expression "pppppppbVar18 = pppppppbVar6" identifier = identifier) ;) (expression_statement "local_c0 = unaff_s0;" (assignment_expression "local_c0 = unaff_s0" identifier = identifier) ;) (expression_statement "local_bc = param_1;" (assignment_expression "local_bc = param_1" identifier = identifier) ;) (expression_statement "local_b8 = param_2;" (assignment_expression "local_b8 = param_2" identifier = identifier) ;) (expression_statement "local_ac = unaff_s5;" (assignment_expression "local_ac = unaff_s5" identifier = identifier) ;) (expression_statement "local_a8 = unaff_s6;" (assignment_expression "local_a8 = unaff_s6" identifier = identifier) ;) (expression_statement "local_a4 = unaff_s7;" (assignment_expression "local_a4 = unaff_s7" identifier = identifier) ;) (expression_statement "local_a0 = pppppppbVar31;" (assignment_expression "local_a0 = pppppppbVar31" identifier = identifier) ;) (expression_statement "local_9c = uVar35;" (assignment_expression "local_9c = uVar35" identifier = identifier) ;) (expression_statement "uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);" (assignment_expression "uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6)" identifier = (call_expression "(*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6)" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))" ( (pointer_expression "*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68)" * (cast_expression "(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar28 + 0xd8ac0) + 0x7f68)" ( (binary_expression "*(int *)(puVar28 + 0xd8ac0) + 0x7f68" (pointer_expression "*(int *)(puVar28 + 0xd8ac0)" * (cast_expression "(int *)(puVar28 + 0xd8ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xd8ac0)" ( (binary_expression "puVar28 + 0xd8ac0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*pppppppbVar6)" ( (pointer_expression "*pppppppbVar6" * identifier) )))) ;) (expression_statement "uVar4 = (uint)((ulonglong)uVar37 >> 0x20);" (assignment_expression "uVar4 = (uint)((ulonglong)uVar37 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar37 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar37 >> 0x20)" ( (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar14 = (uint)uVar37;" (assignment_expression "uVar14 = (uint)uVar37" identifier = (cast_expression "(uint)uVar37" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);" (assignment_expression "iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1)" identifier = (call_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d60) + 0x6c88)" ( (binary_expression "*(int *)(local_148 + -0x7d60) + 0x6c88" (pointer_expression "*(int *)(local_148 + -0x7d60)" * (cast_expression "(int *)(local_148 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d60)" ( (binary_expression "local_148 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppppbVar6[1],1)" ( (subscript_expression "pppppppbVar6[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);" (assignment_expression "uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1])" identifier = (call_expression "(**(code **)(local_148 + -0x7f64))(pppppppbVar6[1])" (parenthesized_expression "(**(code **)(local_148 + -0x7f64))" ( (pointer_expression "**(code **)(local_148 + -0x7f64)" * (pointer_expression "*(code **)(local_148 + -0x7f64)" * (cast_expression "(code **)(local_148 + -0x7f64)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7f64)" ( (binary_expression "local_148 + -0x7f64" identifier + number_literal) ))))) )) (argument_list "(pppppppbVar6[1])" ( (subscript_expression "pppppppbVar6[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }" if (parenthesized_expression "(local_110 == (byte *******)0x0)" ( (binary_expression "local_110 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }" { (expression_statement "pppppppbVar19 = (byte *******)(iVar5 + 8);" (assignment_expression "pppppppbVar19 = (byte *******)(iVar5 + 8)" identifier = (cast_expression "(byte *******)(iVar5 + 8)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);" (assignment_expression "pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f)" identifier = (cast_expression "(byte *******)((int)pppppppbVar19 >> 0x1f)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar19 >> 0x1f)" ( (binary_expression "(int)pppppppbVar19 >> 0x1f" (cast_expression "(int)pppppppbVar19" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);" (assignment_expression "pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110)" identifier = (cast_expression "(byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d68) + 0x51c0)" ( (binary_expression "*(int *)(local_148 + -0x7d68) + 0x51c0" (pointer_expression "*(int *)(local_148 + -0x7d68)" * (cast_expression "(int *)(local_148 + -0x7d68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d68)" ( (binary_expression "local_148 + -0x7d68" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(&local_110)" ( (pointer_expression "&local_110" & identifier) ))))) ;) (if_statement "if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;" if (parenthesized_expression "(pppppppbVar6 == (byte *******)0x0)" ( (binary_expression "pppppppbVar6 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_000b82dc;" goto statement_identifier ;)) (if_statement "if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }" if (parenthesized_expression "(0 < iVar5)" ( (binary_expression "0 < iVar5" number_literal < identifier) )) (compound_statement "{\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }" { (expression_statement "(**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);" (call_expression "(**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5)" (parenthesized_expression "(**(code **)(local_148 + -0x7af4))" ( (pointer_expression "**(code **)(local_148 + -0x7af4)" * (pointer_expression "*(code **)(local_148 + -0x7af4)" * (cast_expression "(code **)(local_148 + -0x7af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7af4)" ( (binary_expression "local_148 + -0x7af4" identifier + number_literal) ))))) )) (argument_list "(pppppppbVar6,uVar35,iVar5)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);" (assignment_expression "pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10)" identifier = (cast_expression "(byte *******)((uVar4 << 0xb) >> 0x10)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uVar4 << 0xb) >> 0x10)" ( (binary_expression "(uVar4 << 0xb) >> 0x10" (parenthesized_expression "(uVar4 << 0xb)" ( (binary_expression "uVar4 << 0xb" identifier << number_literal) )) >> number_literal) )))) ;) (expression_statement "local_138 = (byte *******)(uVar14 & 0x7fffffff);" (assignment_expression "local_138 = (byte *******)(uVar14 & 0x7fffffff)" identifier = (cast_expression "(byte *******)(uVar14 & 0x7fffffff)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(uVar14 & 0x7fffffff)" ( (binary_expression "uVar14 & 0x7fffffff" identifier & number_literal) )))) ;) (expression_statement "iVar33 = uVar4 << 0x1b;" (assignment_expression "iVar33 = uVar4 << 0x1b" identifier = (binary_expression "uVar4 << 0x1b" identifier << number_literal)) ;) (if_statement "if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }" if (parenthesized_expression "(pppppppbVar31 != (byte *******)0x0)" ( (binary_expression "pppppppbVar31 != (byte *******)0x0" identifier != (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }" { (expression_statement "local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);" (assignment_expression "local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f)" identifier = (cast_expression "(byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uVar4 & 0xf) << 1 | uVar14 >> 0x1f)" ( (binary_expression "(uVar4 & 0xf) << 1 | uVar14 >> 0x1f" (binary_expression "(uVar4 & 0xf) << 1" (parenthesized_expression "(uVar4 & 0xf)" ( (binary_expression "uVar4 & 0xf" identifier & number_literal) )) << number_literal) | (binary_expression "uVar14 >> 0x1f" identifier >> number_literal)) )))) ;) (expression_statement "local_158 = pppppppbVar31;" (assignment_expression "local_158 = pppppppbVar31" identifier = identifier) ;) (expression_statement "local_150 = local_138;" (assignment_expression "local_150 = local_138" identifier = identifier) ;) (if_statement "if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }" if (parenthesized_expression "(iVar33 < 0)" ( (binary_expression "iVar33 < 0" identifier < number_literal) )) (compound_statement "{\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }" { (expression_statement "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);" (assignment_expression "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c44)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c44" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c60)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c60" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (goto_statement "goto LAB_000b8528;" goto statement_identifier ;) })) (expression_statement "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);" (assignment_expression "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc8) + 0x30a8)" ( (binary_expression "*(int *)(local_148 + -0x7fc8) + 0x30a8" (pointer_expression "*(int *)(local_148 + -0x7fc8)" * (cast_expression "(int *)(local_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc8)" ( (binary_expression "local_148 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c60)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c60" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (if_statement "if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" { (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" identifier = (cast_expression "(byte *******)&local_e8" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_e8" & identifier))) ;) (expression_statement "local_e8 = (byte *******)0x0;" (assignment_expression "local_e8 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_104 = (byte *******)0x0;" (assignment_expression "local_104 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e4 = (byte *******)0x0;" (assignment_expression "local_e4 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (if_statement "if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }" if (parenthesized_expression "(3 < iVar5)" ( (binary_expression "3 < iVar5" number_literal < identifier) )) (compound_statement "{\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }" { (expression_statement "local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);" (assignment_expression "local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" identifier = (cast_expression "(byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" ( (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3)" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppppbVar6 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + 2)" ( (binary_expression "(int)pppppppbVar6 + 2" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppppbVar6 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + 3)" ( (binary_expression "(int)pppppppbVar6 + 3" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) & number_literal) )))) ;) (expression_statement "local_124 = (byte *******)(uint)((int)local_12c < iVar5);" (assignment_expression "local_124 = (byte *******)(uint)((int)local_12c < iVar5)" identifier = (cast_expression "(byte *******)(uint)((int)local_12c < iVar5)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(uint)((int)local_12c < iVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_12c < iVar5)" ( (binary_expression "(int)local_12c < iVar5" (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))))) ;) (expression_statement "pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);" (assignment_expression "pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff)" identifier = (cast_expression "(byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff)" ( (binary_expression "(uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff" (binary_expression "(uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1)" (binary_expression "(uint)*(byte *)pppppppbVar6 * 0x100" (binary_expression "(uint)*(byte *)pppppppbVar6" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)pppppppbVar6" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal) + (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppppbVar6 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + 1)" ( (binary_expression "(int)pppppppbVar6 + 1" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) & number_literal) )))) ;) (if_statement "if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" if (parenthesized_expression "(local_124 == (byte *******)0x0)" ( (binary_expression "local_124 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }" { (if_statement "if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }" if (parenthesized_expression "((int)local_12c <= iVar5)" ( (binary_expression "(int)local_12c <= iVar5" (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }" { (if_statement "if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }" if (parenthesized_expression "(pppppppbVar31 == (byte *******)0x0)" ( (binary_expression "pppppppbVar31 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                pppppppbVar31 = local_12c;\n              }" { (expression_statement "pppppppbVar31 = local_12c;" (assignment_expression "pppppppbVar31 = local_12c" identifier = identifier) ;) })) (goto_statement "goto LAB_000b887c;" goto statement_identifier ;) })) }) (else_clause "else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" else (compound_statement "{\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" { (expression_statement "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);" (call_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_12c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)local_12c)" ( (binary_expression "(int)pppppppbVar6 + (int)local_12c" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&local_104" & identifier) ))) ;) (if_statement "if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }" if (parenthesized_expression "((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0))" ( (binary_expression "(pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)" (parenthesized_expression "(pppppppbVar31 == (byte *******)0x0)" ( (binary_expression "pppppppbVar31 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(pppppppbVar31 = local_104, local_104 == (byte *******)0x0)" ( (comma_expression "pppppppbVar31 = local_104, local_104 == (byte *******)0x0" (assignment_expression "pppppppbVar31 = local_104" identifier = identifier) , (binary_expression "local_104 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) ))) )) (compound_statement "{\n              pppppppbVar31 = local_12c;\n            }" { (expression_statement "pppppppbVar31 = local_12c;" (assignment_expression "pppppppbVar31 = local_12c" identifier = identifier) ;) })) (labeled_statement "LAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" statement_identifier : (if_statement "if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" if (parenthesized_expression "((int)pppppppbVar31 <= iVar5)" ( (binary_expression "(int)pppppppbVar31 <= iVar5" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" { (if_statement "if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }" if (parenthesized_expression "(0 < (int)(pppppppbVar31 + -1))" ( (binary_expression "0 < (int)(pppppppbVar31 + -1)" number_literal < (cast_expression "(int)(pppppppbVar31 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pppppppbVar31 + -1)" ( (binary_expression "pppppppbVar31 + -1" identifier + number_literal) )))) )) (compound_statement "{\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }" { (expression_statement "local_128 = (byte *******)&local_f4;" (assignment_expression "local_128 = (byte *******)&local_f4" identifier = (cast_expression "(byte *******)&local_f4" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_f4" & identifier))) ;) (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar33 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar33 = *(int *)(local_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));" do (compound_statement "{\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                }" { (expression_statement "iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);" (assignment_expression "iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128)" identifier = (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128)" ( (cast_expression "(byte *)((int)pppppppbVar6 + iVar32 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + iVar32 + 4)" ( (binary_expression "(int)pppppppbVar6 + iVar32 + 4" (binary_expression "(int)pppppppbVar6 + iVar32" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) , identifier )))) ;) (expression_statement "iVar32 = iVar32 + iVar7;" (assignment_expression "iVar32 = iVar32 + iVar7" identifier = (binary_expression "iVar32 + iVar7" identifier + identifier)) ;) (expression_statement "pppppppbVar18 = (byte *******)(iVar33 + -0x556c);" (assignment_expression "pppppppbVar18 = (byte *******)(iVar33 + -0x556c)" identifier = (cast_expression "(byte *******)(iVar33 + -0x556c)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar33 + -0x556c)" ( (binary_expression "iVar33 + -0x556c" identifier + number_literal) )))) ;) (expression_statement "(*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);" (call_expression "(*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , (cast_expression "(byte *******)(iVar33 + -0x556c)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar33 + -0x556c)" ( (binary_expression "iVar33 + -0x556c" identifier + number_literal) ))) , identifier ))) ;) }) while (parenthesized_expression "(iVar32 < (int)(pppppppbVar31 + -1))" ( (binary_expression "iVar32 < (int)(pppppppbVar31 + -1)" identifier < (cast_expression "(int)(pppppppbVar31 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pppppppbVar31 + -1)" ( (binary_expression "pppppppbVar31 + -1" identifier + number_literal) )))) )) ;) })) (expression_statement "pppppppbVar19 = local_104;" (assignment_expression "pppppppbVar19 = local_104" identifier = identifier) ;) (if_statement "if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }" if (parenthesized_expression "(local_104 == (byte *******)0x0)" ( (binary_expression "local_104 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                pppppppbVar19 = local_12c;\n              }" { (expression_statement "pppppppbVar19 = local_12c;" (assignment_expression "pppppppbVar19 = local_12c" identifier = identifier) ;) })) (if_statement "if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }" if (parenthesized_expression "((int)pppppppbVar19 <= iVar5)" ( (binary_expression "(int)pppppppbVar19 <= iVar5" (cast_expression "(int)pppppppbVar19" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }" { (expression_statement "pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);" (assignment_expression "pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31)" identifier = (cast_expression "(byte *******)((int)pppppppbVar19 - (int)pppppppbVar31)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar19 - (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar19 - (int)pppppppbVar31" (cast_expression "(int)pppppppbVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);" (assignment_expression "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31)" identifier = (cast_expression "(byte *******)((int)pppppppbVar6 + (int)pppppppbVar31)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);" (assignment_expression "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7e40)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7e40" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7e40(&local_110,&local_100);" (call_expression "FUN_000b7e40(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (if_statement "if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }" if (parenthesized_expression "((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0))" ( (binary_expression "(local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)" (parenthesized_expression "(local_124 != (byte *******)0x0)" ( (binary_expression "local_124 != (byte *******)0x0" identifier != (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(local_110 == (byte *******)0x0)" ( (binary_expression "local_110 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) (compound_statement "{\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }" { (expression_statement "local_124 = (byte *******)&local_f4;" (assignment_expression "local_124 = (byte *******)&local_f4" identifier = (cast_expression "(byte *******)&local_f4" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_f4" & identifier))) ;) (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);" (assignment_expression "local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + -0x3854)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + -0x3854" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;" (assignment_expression "local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c" identifier = (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c6c" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pbVar27 = (byte *)0x0;" (assignment_expression "pbVar27 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppppbVar31 = local_12c;" (assignment_expression "pppppppbVar31 = local_12c" identifier = identifier) ;) (while_statement "while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }" { (expression_statement "local_128 = local_124;" (assignment_expression "local_128 = local_124" identifier = identifier) ;) (expression_statement "pppppppbVar11 = local_124;" (assignment_expression "pppppppbVar11 = local_124" identifier = identifier) ;) (expression_statement "local_124 = pppppppbVar31;" (assignment_expression "local_124 = pppppppbVar31" identifier = identifier) ;) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11)" identifier = (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier )))) ;) (expression_statement "pppppppbVar11 = local_128;" (assignment_expression "pppppppbVar11 = local_128" identifier = identifier) ;) (expression_statement "pppppppbVar31 = (byte *******)((int)local_124 + iVar32);" (assignment_expression "pppppppbVar31 = (byte *******)((int)local_124 + iVar32)" identifier = (cast_expression "(byte *******)((int)local_124 + iVar32)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_124 + iVar32)" ( (binary_expression "(int)local_124 + iVar32" (cast_expression "(int)local_124" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pbVar27 = pbVar27 + (int)local_f4;" (assignment_expression "pbVar27 = pbVar27 + (int)local_f4" identifier = (binary_expression "pbVar27 + (int)local_f4" identifier + (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)pppppppbVar31 < iVar5) break;" if (parenthesized_expression "((int)pppppppbVar31 < iVar5)" ( (binary_expression "(int)pppppppbVar31 < iVar5" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (break_statement "break;" break ;)) (expression_statement "local_128 = local_12c;" (assignment_expression "local_128 = local_12c" identifier = identifier) ;) (expression_statement "pppppppbVar17 = local_124;" (assignment_expression "pppppppbVar17 = local_124" identifier = identifier) ;) (expression_statement "local_124 = pppppppbVar11;" (assignment_expression "local_124 = pppppppbVar11" identifier = identifier) ;) (labeled_statement "LAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);" statement_identifier : (expression_statement "pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);" (assignment_expression "pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27)" identifier = (cast_expression "(byte *)((int)pppppppbVar6 + (int)pbVar27)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pbVar27)" ( (binary_expression "(int)pppppppbVar6 + (int)pbVar27" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "pbVar34 = pbVar27;" (assignment_expression "pbVar34 = pbVar27" identifier = identifier) ;) (if_statement "if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }" if (parenthesized_expression "(local_12c != pppppppbVar17)" ( (binary_expression "local_12c != pppppppbVar17" identifier != identifier) )) (compound_statement "{\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }" { (expression_statement "iVar32 = (*local_134)(pbVar15,local_124);" (assignment_expression "iVar32 = (*local_134)(pbVar15,local_124)" identifier = (call_expression "(*local_134)(pbVar15,local_124)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "(pbVar15,local_124)" ( identifier , identifier )))) ;) (if_statement "if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;" if (parenthesized_expression "((int)local_e4 < (int)local_f4)" ( (binary_expression "(int)local_e4 < (int)local_f4" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b8afc;" goto statement_identifier ;)) (expression_statement "local_e4 = local_f4;" (assignment_expression "local_e4 = local_f4" identifier = identifier) ;) (expression_statement "pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));" (assignment_expression "pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32))" identifier = (cast_expression "(byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)(pbVar27 + iVar32))" ( (binary_expression "(int)pppppppbVar6 + (int)(pbVar27 + iVar32)" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(pbVar27 + iVar32)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar27 + iVar32)" ( (binary_expression "pbVar27 + iVar32" identifier + identifier) )))) )))) ;) (expression_statement "pbVar34 = pbVar27 + iVar32;" (assignment_expression "pbVar34 = pbVar27 + iVar32" identifier = (binary_expression "pbVar27 + iVar32" identifier + identifier)) ;) })) (expression_statement "iVar32 = (*local_134)(pbVar15,local_124);" (assignment_expression "iVar32 = (*local_134)(pbVar15,local_124)" identifier = (call_expression "(*local_134)(pbVar15,local_124)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "(pbVar15,local_124)" ( identifier , identifier )))) ;) (expression_statement "pbVar34 = pbVar34 + iVar32;" (assignment_expression "pbVar34 = pbVar34 + iVar32" identifier = (binary_expression "pbVar34 + iVar32" identifier + identifier)) ;) (expression_statement "pppppppbVar18 = local_f4;" (assignment_expression "pppppppbVar18 = local_f4" identifier = identifier) ;) (if_statement "if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;" if (parenthesized_expression "(iVar5 < (int)((int)local_f4 + (int)pbVar34))" ( (binary_expression "iVar5 < (int)((int)local_f4 + (int)pbVar34)" identifier < (cast_expression "(int)((int)local_f4 + (int)pbVar34)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_f4 + (int)pbVar34)" ( (binary_expression "(int)local_f4 + (int)pbVar34" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (goto_statement "goto LAB_000b8afc;" goto statement_identifier ;)) (expression_statement "(*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));" (call_expression "(*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34))" (parenthesized_expression "(*local_11c)" ( (pointer_expression "*local_11c" * identifier) )) (argument_list "(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34))" ( (pointer_expression "&local_110" & identifier) , identifier , identifier , (cast_expression "(byte *)((int)pppppppbVar6 + (int)pbVar34)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pbVar34)" ( (binary_expression "(int)pppppppbVar6 + (int)pbVar34" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar34" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (expression_statement "pbVar34 = pbVar34 + (int)local_f4;" (assignment_expression "pbVar34 = pbVar34 + (int)local_f4" identifier = (binary_expression "pbVar34 + (int)local_f4" identifier + (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_158 = local_e8;" (assignment_expression "local_158 = local_e8" identifier = identifier) ;) (expression_statement "(*local_13c)(&local_110,&local_100,local_118,local_e4);" (call_expression "(*local_13c)(&local_110,&local_100,local_118,local_e4)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100,local_118,local_e4)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , identifier , identifier ))) ;) (expression_statement "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);" (assignment_expression "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34)" identifier = (cast_expression "(byte *******)((int)pppppppbVar6 + (int)pbVar34)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pbVar34)" ( (binary_expression "(int)pppppppbVar6 + (int)pbVar34" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);" (assignment_expression "pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34)" identifier = (cast_expression "(byte *******)((int)local_128 - (int)pbVar34)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_128 - (int)pbVar34)" ( (binary_expression "(int)local_128 - (int)pbVar34" (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(*local_120)(&local_110,&local_100);" (call_expression "(*local_120)(&local_110,&local_100)" (parenthesized_expression "(*local_120)" ( (pointer_expression "*local_120" * identifier) )) (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (if_statement "if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;" if (parenthesized_expression "(((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))" ( (binary_expression "((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0)" (parenthesized_expression "((int)pppppppbVar31 >= iVar5)" ( (binary_expression "(int)pppppppbVar31 >= iVar5" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) >= identifier) )) || (parenthesized_expression "(local_110 != (byte *******)0x0)" ( (binary_expression "local_110 != (byte *******)0x0" identifier != (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) (goto_statement "goto LAB_000b84cc;" goto statement_identifier ;)) })) (expression_statement "local_114 = local_124;" (assignment_expression "local_114 = local_124" identifier = identifier) ;) (expression_statement "local_124 = local_128;" (assignment_expression "local_124 = local_128" identifier = identifier) ;) (expression_statement "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);" (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier ))) ;) (expression_statement "local_128 = (byte *******)(pbVar27 + (int)local_f4);" (assignment_expression "local_128 = (byte *******)(pbVar27 + (int)local_f4)" identifier = (cast_expression "(byte *******)(pbVar27 + (int)local_f4)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(pbVar27 + (int)local_f4)" ( (binary_expression "pbVar27 + (int)local_f4" identifier + (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppbVar17 = local_114;" (assignment_expression "pppppppbVar17 = local_114" identifier = identifier) ;) (if_statement "if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;" if (parenthesized_expression "((int)local_128 <= (int)local_12c)" ( (binary_expression "(int)local_128 <= (int)local_12c" (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b8a74;" goto statement_identifier ;)) (labeled_statement "LAB_000b8afc:\n                  local_110 = (byte *******)0x10b;" statement_identifier : (expression_statement "local_110 = (byte *******)0x10b;" (assignment_expression "local_110 = (byte *******)0x10b" identifier = (cast_expression "(byte *******)0x10b" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) })) (goto_statement "goto LAB_000b84cc;" goto statement_identifier ;) })) }))) }))) (expression_statement "local_110 = (byte *******)0x10b;" (assignment_expression "local_110 = (byte *******)0x10b" identifier = (cast_expression "(byte *******)0x10b" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" identifier = identifier) ;) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;) })) (expression_statement "pppppppbVar18 = (byte *******)&DAT_00000007;" (assignment_expression "pppppppbVar18 = (byte *******)&DAT_00000007" identifier = (cast_expression "(byte *******)&DAT_00000007" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "local_fc = (byte *******)0x0;" (assignment_expression "local_fc = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);" (assignment_expression "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + 0xb5c)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + 0xb5c" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000ac7ac(&local_110,&local_100);" (call_expression "FUN_000ac7ac(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }" else (compound_statement "{\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }" { (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" identifier = (cast_expression "(byte *******)&local_e8" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_e8" & identifier))) ;) (expression_statement "local_e8 = (byte *******)0x0;" (assignment_expression "local_e8 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_108 = (byte *******)0x0;" (assignment_expression "local_108 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e4 = (byte *******)0x0;" (assignment_expression "local_e4 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);" (assignment_expression "pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" identifier = (cast_expression "(byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" ( (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3)" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppppbVar6 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + 2)" ( (binary_expression "(int)pppppppbVar6 + 2" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppppbVar6 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + 3)" ( (binary_expression "(int)pppppppbVar6 + 3" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) & number_literal) )))) ;) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (expression_statement "local_12c = pppppppbVar31;" (assignment_expression "local_12c = pppppppbVar31" identifier = identifier) ;) (expression_statement "pppppppbVar19 = pppppppbVar31;" (assignment_expression "pppppppbVar19 = pppppppbVar31" identifier = identifier) ;) (if_statement "if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }" if (parenthesized_expression "((int)pppppppbVar31 < iVar5)" ( (binary_expression "(int)pppppppbVar31 < iVar5" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }" { (expression_statement "iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);" (assignment_expression "iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c)" identifier = (call_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&local_10c" & identifier) )))) ;) (expression_statement "local_12c = (byte *******)((int)pppppppbVar31 + iVar32);" (assignment_expression "local_12c = (byte *******)((int)pppppppbVar31 + iVar32)" identifier = (cast_expression "(byte *******)((int)pppppppbVar31 + iVar32)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar31 + iVar32)" ( (binary_expression "(int)pppppppbVar31 + iVar32" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppppbVar19 = local_10c;" (assignment_expression "pppppppbVar19 = local_10c" identifier = identifier) ;) })) (expression_statement "local_10c = pppppppbVar19;" (assignment_expression "local_10c = pppppppbVar19" identifier = identifier) ;) (expression_statement "pppppppbVar19 = local_10c + -1;" (assignment_expression "pppppppbVar19 = local_10c + -1" identifier = (binary_expression "local_10c + -1" identifier + number_literal)) ;) (expression_statement "local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);" (assignment_expression "local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7c34)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7c34" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);" (call_expression "FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1)" identifier (argument_list "(&local_110,&local_100,pppppppbVar6 + 1)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , (binary_expression "pppppppbVar6 + 1" identifier + number_literal) ))) ;) (expression_statement "pppppppbVar18 = local_10c;" (assignment_expression "pppppppbVar18 = local_10c" identifier = identifier) ;) (if_statement "if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" if (parenthesized_expression "((int)local_10c < (int)pppppppbVar31)" ( (binary_expression "(int)local_10c < (int)pppppppbVar31" (cast_expression "(int)local_10c" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" { (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);" (assignment_expression "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + -0x3854)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + -0x3854" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);" (assignment_expression "local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c6c)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c6c" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);" do (compound_statement "{\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          }" { (expression_statement "local_128 = pppppppbVar18;" (assignment_expression "local_128 = pppppppbVar18" identifier = identifier) ;) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104)" identifier = (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar18)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar18" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&local_104" & identifier) )))) ;) (expression_statement "local_128 = (byte *******)((int)local_128 + iVar32);" (assignment_expression "local_128 = (byte *******)((int)local_128 + iVar32)" identifier = (cast_expression "(byte *******)((int)local_128 + iVar32)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_128 + iVar32)" ( (binary_expression "(int)local_128 + iVar32" (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_e4 = local_108;" (assignment_expression "local_e4 = local_108" identifier = identifier) ;) (expression_statement "(*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );" (call_expression "(*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        )" (parenthesized_expression "(*local_120)" ( (pointer_expression "*local_120" * identifier) )) (argument_list "(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        )" ( (pointer_expression "&local_110" & identifier) , identifier , identifier , (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_128)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)local_128)" ( (binary_expression "(int)pppppppbVar6 + (int)local_128" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (expression_statement "local_158 = local_e8;" (assignment_expression "local_158 = local_e8" identifier = identifier) ;) (expression_statement "(*local_13c)(&local_110,&local_100,local_11c,local_e4);" (call_expression "(*local_13c)(&local_110,&local_100,local_11c,local_e4)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100,local_11c,local_e4)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , identifier , identifier ))) ;) (expression_statement "pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);" (assignment_expression "pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104)" identifier = (cast_expression "(byte *******)((int)local_128 + (int)local_104)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_128 + (int)local_104)" ( (binary_expression "(int)local_128 + (int)local_104" (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_104" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppbVar11 = pppppppbVar31;" (assignment_expression "pppppppbVar11 = pppppppbVar31" identifier = identifier) ;) (if_statement "if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }" if (parenthesized_expression "((int)local_12c < iVar5)" ( (binary_expression "(int)local_12c < iVar5" (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }" { (expression_statement "local_128 = pppppppbVar18;" (assignment_expression "local_128 = pppppppbVar18" identifier = identifier) ;) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4)" identifier = (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_12c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)local_12c)" ( (binary_expression "(int)pppppppbVar6 + (int)local_12c" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&local_f4" & identifier) )))) ;) (expression_statement "local_12c = (byte *******)((int)local_12c + iVar32);" (assignment_expression "local_12c = (byte *******)((int)local_12c + iVar32)" identifier = (cast_expression "(byte *******)((int)local_12c + iVar32)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_12c + iVar32)" ( (binary_expression "(int)local_12c + iVar32" (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppppbVar18 = local_128;" (assignment_expression "pppppppbVar18 = local_128" identifier = identifier) ;) (expression_statement "pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);" (assignment_expression "pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4)" identifier = (cast_expression "(byte *******)((int)local_10c + (int)local_f4)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_10c + (int)local_f4)" ( (binary_expression "(int)local_10c + (int)local_f4" (cast_expression "(int)local_10c" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);" (assignment_expression "pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18)" identifier = (cast_expression "(byte *******)((int)pppppppbVar11 - (int)pppppppbVar18)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar11 - (int)pppppppbVar18)" ( (binary_expression "(int)pppppppbVar11 - (int)pppppppbVar18" (cast_expression "(int)pppppppbVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_10c = pppppppbVar11;" (assignment_expression "local_10c = pppppppbVar11" identifier = identifier) ;) (expression_statement "(*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));" (call_expression "(*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18))" (parenthesized_expression "(*(code *)local_124)" ( (pointer_expression "*(code *)local_124" * (cast_expression "(code *)local_124" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18))" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar18)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar18" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (expression_statement "pppppppbVar18 = local_10c;" (assignment_expression "pppppppbVar18 = local_10c" identifier = identifier) ;) (if_statement "if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;" if (parenthesized_expression "((int)pppppppbVar31 <= (int)local_10c)" ( (binary_expression "(int)pppppppbVar31 <= (int)local_10c" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_10c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b84cc;" goto statement_identifier ;)) (expression_statement "local_128 = local_10c;" (assignment_expression "local_128 = local_10c" identifier = identifier) ;) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108)" identifier = (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_10c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)local_10c)" ( (binary_expression "(int)pppppppbVar6 + (int)local_10c" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_10c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&local_108" & identifier) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)((int)local_128 + iVar32);" (assignment_expression "pppppppbVar18 = (byte *******)((int)local_128 + iVar32)" identifier = (cast_expression "(byte *******)((int)local_128 + iVar32)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_128 + iVar32)" ( (binary_expression "(int)local_128 + iVar32" (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((int)pppppppbVar18 < (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar18 < (int)pppppppbVar31" (cast_expression "(int)pppppppbVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "iVar5 = *(int *)(local_148 + -0x7d78);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7d78)" identifier = (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" else (compound_statement "{\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" { (labeled_statement "LAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);" statement_identifier : (expression_statement "iVar5 = *(int *)(local_148 + -0x7d78);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7d78)" identifier = (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) ))))) ;)) }))) (expression_statement "pcVar26 = (code *)(iVar5 + 0x7c);" (assignment_expression "pcVar26 = (code *)(iVar5 + 0x7c)" identifier = (cast_expression "(code *)(iVar5 + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x7c)" ( (binary_expression "iVar5 + 0x7c" identifier + number_literal) )))) ;) (expression_statement "(*pcVar26)(local_138);" (call_expression "(*pcVar26)(local_138)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(local_138)" ( identifier ))) ;) }))) (goto_statement "goto LAB_000b82e8;" goto statement_identifier ;) })) (if_statement "if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }" if (parenthesized_expression "((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))" ( (binary_expression "(uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1)" (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1)" ( (comma_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "uVar14 == 1" identifier == number_literal)) ))) )) (compound_statement "{\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }" { (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4cc4)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4cc4" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (if_statement "if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" if (parenthesized_expression "(iVar33 < 0)" ( (binary_expression "iVar33 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" { (labeled_statement "LAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);" statement_identifier : (expression_statement "iVar32 = *(int *)(local_148 + -0x7d7c);" (assignment_expression "iVar32 = *(int *)(local_148 + -0x7d7c)" identifier = (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) ))))) ;)) (expression_statement "local_e8 = (byte *******)&local_f4;" (assignment_expression "local_e8 = (byte *******)&local_f4" identifier = (cast_expression "(byte *******)&local_f4" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_f4" & identifier))) ;) (expression_statement "local_e4 = (byte *******)0x0;" (assignment_expression "local_e4 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (byte *******)0x0;" (assignment_expression "local_d0 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_cc = (byte ******)0x0;" (assignment_expression "local_cc = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_d8 = local_138;" (assignment_expression "local_d8 = local_138" identifier = identifier) ;) (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" identifier = (cast_expression "(byte *******)&local_e8" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_e8" & identifier))) ;) (expression_statement "local_f4 = pppppppbVar6;" (assignment_expression "local_f4 = pppppppbVar6" identifier = identifier) ;) (expression_statement "local_f0 = iVar5;" (assignment_expression "local_f0 = iVar5" identifier = identifier) ;) (expression_statement "(*(code *)(iVar32 + 0x687c))();" (call_expression "(*(code *)(iVar32 + 0x687c))()" (parenthesized_expression "(*(code *)(iVar32 + 0x687c))" ( (pointer_expression "*(code *)(iVar32 + 0x687c)" * (cast_expression "(code *)(iVar32 + 0x687c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x687c)" ( (binary_expression "iVar32 + 0x687c" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" identifier = identifier) ;) (if_statement "if (local_e0 != 0) goto LAB_000b8260;" if (parenthesized_expression "(local_e0 != 0)" ( (binary_expression "local_e0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) ))))) ;) (do_statement "do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);" do (compound_statement "{\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        }" { (expression_statement "local_154 = local_cc;" (assignment_expression "local_154 = local_cc" identifier = identifier) ;) (expression_statement "local_158 = local_d0;" (assignment_expression "local_158 = local_d0" identifier = identifier) ;) (expression_statement "pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);" (assignment_expression "pppppppbVar18 = (byte *******)(iVar5 + -0x4cac)" identifier = (cast_expression "(byte *******)(iVar5 + -0x4cac)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + -0x4cac)" ( (binary_expression "iVar5 + -0x4cac" identifier + number_literal) )))) ;) (expression_statement "pppppppbVar19 = local_d8;" (assignment_expression "pppppppbVar19 = local_d8" identifier = identifier) ;) (expression_statement "(*local_13c)(&local_110,&local_100);" (call_expression "(*local_13c)(&local_110,&local_100)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (expression_statement "(*(code *)(iVar32 + 0x687c))(local_138);" (call_expression "(*(code *)(iVar32 + 0x687c))(local_138)" (parenthesized_expression "(*(code *)(iVar32 + 0x687c))" ( (pointer_expression "*(code *)(iVar32 + 0x687c)" * (cast_expression "(code *)(iVar32 + 0x687c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x687c)" ( (binary_expression "iVar32 + 0x687c" identifier + number_literal) )))) )) (argument_list "(local_138)" ( identifier ))) ;) }) while (parenthesized_expression "(local_e0 == 0)" ( (binary_expression "local_e0 == 0" identifier == number_literal) )) ;) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" else (compound_statement "{\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" { (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" identifier = identifier) ;) (if_statement "if (iVar5 < 1) goto LAB_000b8260;" if (parenthesized_expression "(iVar5 < 1)" ( (binary_expression "iVar5 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;)) (expression_statement "iVar33 = *(int *)(local_148 + -0x7de0);" (assignment_expression "iVar33 = *(int *)(local_148 + -0x7de0)" identifier = (pointer_expression "*(int *)(local_148 + -0x7de0)" * (cast_expression "(int *)(local_148 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7de0)" ( (binary_expression "local_148 + -0x7de0" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(local_148 + -0x7fc8);" (assignment_expression "iVar7 = *(int *)(local_148 + -0x7fc8)" identifier = (pointer_expression "*(int *)(local_148 + -0x7fc8)" * (cast_expression "(int *)(local_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc8)" ( (binary_expression "local_148 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar8 = *(int *)(local_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (expression_statement "pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);" (assignment_expression "pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc8) + 0x30a8)" ( (binary_expression "*(int *)(local_148 + -0x7fc8) + 0x30a8" (pointer_expression "*(int *)(local_148 + -0x7fc8)" * (cast_expression "(int *)(local_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc8)" ( (binary_expression "local_148 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" identifier = (cast_expression "(byte *******)&local_e8" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_e8" & identifier))) ;) (do_statement "do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);" do (compound_statement "{\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        }" { (expression_statement "pppppppbVar19 = pppppppbVar31;" (assignment_expression "pppppppbVar19 = pppppppbVar31" identifier = identifier) ;) (expression_statement "iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);" (assignment_expression "iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138)" identifier = (call_expression "(*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138)" (parenthesized_expression "(*(code *)(iVar33 + -0x80))" ( (pointer_expression "*(code *)(iVar33 + -0x80)" * (cast_expression "(code *)(iVar33 + -0x80)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + -0x80)" ( (binary_expression "iVar33 + -0x80" identifier + number_literal) )))) )) (argument_list "((byte *)((int)pppppppbVar6 + iVar32),local_138)" ( (cast_expression "(byte *)((int)pppppppbVar6 + iVar32)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + iVar32)" ( (binary_expression "(int)pppppppbVar6 + iVar32" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier )))) ;) (expression_statement "iVar32 = iVar32 + iVar9;" (assignment_expression "iVar32 = iVar32 + iVar9" identifier = (binary_expression "iVar32 + iVar9" identifier + identifier)) ;) (expression_statement "local_158 = local_e4;" (assignment_expression "local_158 = local_e4" identifier = identifier) ;) (expression_statement "pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);" (assignment_expression "pppppppbVar18 = (byte *******)(iVar7 + 0x2db4)" identifier = (cast_expression "(byte *******)(iVar7 + 0x2db4)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar7 + 0x2db4)" ( (binary_expression "iVar7 + 0x2db4" identifier + number_literal) )))) ;) (expression_statement "(*local_13c)(&local_110,&local_100);" (call_expression "(*local_13c)(&local_110,&local_100)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (expression_statement "pppppppbVar31 = (byte *******)(iVar8 + -0x4854);" (assignment_expression "pppppppbVar31 = (byte *******)(iVar8 + -0x4854)" identifier = (cast_expression "(byte *******)(iVar8 + -0x4854)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar8 + -0x4854)" ( (binary_expression "iVar8 + -0x4854" identifier + number_literal) )))) ;) }) while (parenthesized_expression "(iVar32 < iVar5)" ( (binary_expression "iVar32 < iVar5" identifier < identifier) )) ;) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }))) }) (else_clause "else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }" else (compound_statement "{\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }" { (expression_statement "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4cb8)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4cb8" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (if_statement "if (iVar33 < 0) goto LAB_000b8528;" if (parenthesized_expression "(iVar33 < 0)" ( (binary_expression "iVar33 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000b8528;" goto statement_identifier ;)) (expression_statement "pppppppbVar19 = (byte *******)&local_e8;" (assignment_expression "pppppppbVar19 = (byte *******)&local_e8" identifier = (cast_expression "(byte *******)&local_e8" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_e8" & identifier))) ;) (expression_statement "pppppppbVar18 = (byte *******)0x0;" (assignment_expression "pppppppbVar18 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e8 = (byte *******)0x0;" (assignment_expression "local_e8 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);" (assignment_expression "pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5)" identifier = (cast_expression "(byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d68) + 0x52ac)" ( (binary_expression "*(int *)(local_148 + -0x7d68) + 0x52ac" (pointer_expression "*(int *)(local_148 + -0x7d68)" * (cast_expression "(int *)(local_148 + -0x7d68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d68)" ( (binary_expression "local_148 + -0x7d68" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppppbVar6,iVar5)" ( identifier , identifier ))))) ;) (if_statement "if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }" if (parenthesized_expression "(pppppppbVar31 == (byte *******)0x0)" ( (binary_expression "pppppppbVar31 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }" { (expression_statement "local_138 = local_e8;" (assignment_expression "local_138 = local_e8" identifier = identifier) ;) (if_statement "if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }" if (parenthesized_expression "(0 < (int)local_e8[5])" ( (binary_expression "0 < (int)local_e8[5]" number_literal < (cast_expression "(int)local_e8[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_e8[5]" identifier [ number_literal ]))) )) (compound_statement "{\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }" { (expression_statement "pppppppbVar31 = local_e8 + 6;" (assignment_expression "pppppppbVar31 = local_e8 + 6" identifier = (binary_expression "local_e8 + 6" identifier + number_literal)) ;) (expression_statement "iVar5 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "pppppppbVar11 = (byte *******)0x0;" (assignment_expression "pppppppbVar11 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4ca0)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4ca0" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);" (assignment_expression "local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc8) + 0x1300)" ( (binary_expression "*(int *)(local_148 + -0x7fc8) + 0x1300" (pointer_expression "*(int *)(local_148 + -0x7fc8)" * (cast_expression "(int *)(local_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc8)" ( (binary_expression "local_148 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);" do (compound_statement "{\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          }" { (expression_statement "local_154 = pppppppbVar31[1];" (assignment_expression "local_154 = pppppppbVar31[1]" identifier = (subscript_expression "pppppppbVar31[1]" identifier [ number_literal ])) ;) (expression_statement "local_158 = (byte *******)*pppppppbVar31;" (assignment_expression "local_158 = (byte *******)*pppppppbVar31" identifier = (cast_expression "(byte *******)*pppppppbVar31" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*pppppppbVar31" * identifier))) ;) (expression_statement "pppppppbVar19 = pppppppbVar11;" (assignment_expression "pppppppbVar19 = pppppppbVar11" identifier = identifier) ;) (expression_statement "(*local_13c)(&local_110,&local_100,local_134);" (call_expression "(*local_13c)(&local_110,&local_100,local_134)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100,local_134)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , identifier ))) ;) (if_statement "if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }" if (parenthesized_expression "(0 < (int)pppppppbVar31[1])" ( (binary_expression "0 < (int)pppppppbVar31[1]" number_literal < (cast_expression "(int)pppppppbVar31[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppbVar31[1]" identifier [ number_literal ]))) )) (compound_statement "{\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }" { (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;) (do_statement "do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);" do (compound_statement "{\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              }" { (expression_statement "puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);" (assignment_expression "puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33)" identifier = (cast_expression "(undefined4 *)((int)pppppppbVar31[2] + iVar33)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar31[2] + iVar33)" ( (binary_expression "(int)pppppppbVar31[2] + iVar33" (cast_expression "(int)pppppppbVar31[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppbVar31[2]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "iVar33 = iVar33 + 0xc;" (assignment_expression "iVar33 = iVar33 + 0xc" identifier = (binary_expression "iVar33 + 0xc" identifier + number_literal)) ;) (expression_statement "local_154 = (byte ******)puVar10[2];" (assignment_expression "local_154 = (byte ******)puVar10[2]" identifier = (cast_expression "(byte ******)puVar10[2]" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) ;) (expression_statement "pppppppbVar19 = (byte *******)*puVar10;" (assignment_expression "pppppppbVar19 = (byte *******)*puVar10" identifier = (cast_expression "(byte *******)*puVar10" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "local_158 = (byte *******)puVar10[1];" (assignment_expression "local_158 = (byte *******)puVar10[1]" identifier = (cast_expression "(byte *******)puVar10[1]" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "puVar10[1]" identifier [ number_literal ]))) ;) (expression_statement "(*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);" (call_expression "(*local_13c)(&local_110,&local_100,iVar5 + -0x4c84)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100,iVar5 + -0x4c84)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , (binary_expression "iVar5 + -0x4c84" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(iVar32 < (int)pppppppbVar31[1])" ( (binary_expression "iVar32 < (int)pppppppbVar31[1]" identifier < (cast_expression "(int)pppppppbVar31[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppbVar31[1]" identifier [ number_literal ]))) )) ;) })) (expression_statement "pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);" (assignment_expression "pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1)" identifier = (cast_expression "(byte *******)((int)pppppppbVar11 + 1)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar11 + 1)" ( (binary_expression "(int)pppppppbVar11 + 1" (cast_expression "(int)pppppppbVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppbVar31 = pppppppbVar31 + 3;" (assignment_expression "pppppppbVar31 = pppppppbVar31 + 3" identifier = (binary_expression "pppppppbVar31 + 3" identifier + number_literal)) ;) (expression_statement "pppppppbVar18 = local_12c;" (assignment_expression "pppppppbVar18 = local_12c" identifier = identifier) ;) (expression_statement "(*local_13c)(&local_110,&local_100);" (call_expression "(*local_13c)(&local_110,&local_100)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) }) while (parenthesized_expression "((int)pppppppbVar11 < (int)local_138[5])" ( (binary_expression "(int)pppppppbVar11 < (int)local_138[5]" (cast_expression "(int)pppppppbVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_138[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_138[5]" identifier [ number_literal ]))) )) ;) (expression_statement "local_138 = local_e8;" (assignment_expression "local_138 = local_e8" identifier = identifier) ;) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" identifier = identifier) ;) (if_statement "if (local_e8 == (byte *******)0x0) goto LAB_000b8260;" if (parenthesized_expression "(local_e8 == (byte *******)0x0)" ( (binary_expression "local_e8 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;)) })) (expression_statement "ppppppbVar22 = *local_e8;" (assignment_expression "ppppppbVar22 = *local_e8" identifier = (pointer_expression "*local_e8" * identifier)) ;) (expression_statement "*local_e8 = (byte ******)((int)ppppppbVar22 + -1);" (assignment_expression "*local_e8 = (byte ******)((int)ppppppbVar22 + -1)" (pointer_expression "*local_e8" * identifier) = (cast_expression "(byte ******)((int)ppppppbVar22 + -1)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppbVar22 + -1)" ( (binary_expression "(int)ppppppbVar22 + -1" (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_138 = local_e8;" (assignment_expression "local_138 = local_e8" identifier = identifier) ;) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" identifier = identifier) ;) (if_statement "if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }" if (parenthesized_expression "((int)ppppppbVar22 + -1 < 1)" ( (binary_expression "(int)ppppppbVar22 + -1 < 1" (binary_expression "(int)ppppppbVar22 + -1" (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) < number_literal) )) (compound_statement "{\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }" { (expression_statement "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);" (call_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x380c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x380c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(local_e8)" ( identifier ))) ;) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000b82e8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000b8260:\n      local_110 = pppppppbVar31;" statement_identifier : (expression_statement "local_110 = pppppppbVar31;" (assignment_expression "local_110 = pppppppbVar31" identifier = identifier) ;)) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6);" (call_expression "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6)" (parenthesized_expression "(**(code **)(local_148 + -0x7fb4))" ( (pointer_expression "**(code **)(local_148 + -0x7fb4)" * (pointer_expression "*(code **)(local_148 + -0x7fb4)" * (cast_expression "(code **)(local_148 + -0x7fb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7fb4)" ( (binary_expression "local_148 + -0x7fb4" identifier + number_literal) ))))) )) (argument_list "(pppppppbVar6)" ( identifier ))) ;) (if_statement "if (local_110 == (byte *******)0x0) goto LAB_000b8300;" if (parenthesized_expression "(local_110 == (byte *******)0x0)" ( (binary_expression "local_110 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_000b8300;" goto statement_identifier ;)) (labeled_statement "LAB_000b8280:\n    pppppppbVar6 = local_110;" statement_identifier : (expression_statement "pppppppbVar6 = local_110;" (assignment_expression "pppppppbVar6 = local_110" identifier = identifier) ;)) (expression_statement "(**(code **)(local_148 + -0x7f4c))(iVar12);" (call_expression "(**(code **)(local_148 + -0x7f4c))(iVar12)" (parenthesized_expression "(**(code **)(local_148 + -0x7f4c))" ( (pointer_expression "**(code **)(local_148 + -0x7f4c)" * (pointer_expression "*(code **)(local_148 + -0x7f4c)" * (cast_expression "(code **)(local_148 + -0x7f4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7f4c)" ( (binary_expression "local_148 + -0x7f4c" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier ))) ;) }) (else_clause "else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }" else (compound_statement "{\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }" { (labeled_statement "LAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;" statement_identifier : (expression_statement "pppppppbVar6 = (byte *******)0x0;" (assignment_expression "pppppppbVar6 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);" statement_identifier : (expression_statement "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6);" (call_expression "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6)" (parenthesized_expression "(**(code **)(local_148 + -0x7fb4))" ( (pointer_expression "**(code **)(local_148 + -0x7fb4)" * (pointer_expression "*(code **)(local_148 + -0x7fb4)" * (cast_expression "(code **)(local_148 + -0x7fb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7fb4)" ( (binary_expression "local_148 + -0x7fb4" identifier + number_literal) ))))) )) (argument_list "(pppppppbVar6)" ( identifier ))) ;)) (if_statement "if (local_110 != (byte *******)0x0) goto LAB_000b8280;" if (parenthesized_expression "(local_110 != (byte *******)0x0)" ( (binary_expression "local_110 != (byte *******)0x0" identifier != (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_000b8280;" goto statement_identifier ;)) (labeled_statement "LAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);" statement_identifier : (expression_statement "pppppppbVar6 = (byte *******)(iVar12 + 0x14);" (assignment_expression "pppppppbVar6 = (byte *******)(iVar12 + 0x14)" identifier = (cast_expression "(byte *******)(iVar12 + 0x14)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) ;)) (expression_statement "local_154 = (byte ******)0xffffffff;" (assignment_expression "local_154 = (byte ******)0xffffffff" identifier = (cast_expression "(byte ******)0xffffffff" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_158 = (byte *******)0x1;" (assignment_expression "local_158 = (byte *******)0x1" identifier = (cast_expression "(byte *******)0x1" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar18 = local_100;" (assignment_expression "pppppppbVar18 = local_100" identifier = identifier) ;) (expression_statement "pppppppbVar19 = local_fc;" (assignment_expression "pppppppbVar19 = local_fc" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);" (call_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d60) + -0x13c0)" ( (binary_expression "*(int *)(local_148 + -0x7d60) + -0x13c0" (pointer_expression "*(int *)(local_148 + -0x7d60)" * (cast_expression "(int *)(local_148 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d60)" ( (binary_expression "local_148 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar12)" ( identifier ))) ;) }))) (expression_statement "pppppppbVar31 = (byte *******)&local_100;" (assignment_expression "pppppppbVar31 = (byte *******)&local_100" identifier = (cast_expression "(byte *******)&local_100" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_100" & identifier))) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }" if (parenthesized_expression "(local_c4 == (byte *******)*local_130)" ( (binary_expression "local_c4 == (byte *******)*local_130" identifier == (cast_expression "(byte *******)*local_130" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*local_130" * identifier))) )) (compound_statement "{\n    return (byte *******)*local_130;\n  }" { (return_statement "return (byte *******)*local_130;" return (cast_expression "(byte *******)*local_130" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*local_130" * identifier)) ;) })) (expression_statement "pcVar29 = *(code **)(local_148 + -0x7b28);" (assignment_expression "pcVar29 = *(code **)(local_148 + -0x7b28)" identifier = (pointer_expression "*(code **)(local_148 + -0x7b28)" * (cast_expression "(code **)(local_148 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7b28)" ( (binary_expression "local_148 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = FUN_000b8b7c;" (assignment_expression "pcVar36 = FUN_000b8b7c" identifier = identifier) ;) (expression_statement "(*pcVar29)();" (call_expression "(*pcVar29)()" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar30 = pcVar29 + 0xdfda4;" (assignment_expression "pcVar30 = pcVar29 + 0xdfda4" identifier = (binary_expression "pcVar29 + 0xdfda4" identifier + number_literal)) ;) (expression_statement "piVar24 = *(int **)(pcVar29 + 0xd82a8);" (assignment_expression "piVar24 = *(int **)(pcVar29 + 0xd82a8)" identifier = (pointer_expression "*(int **)(pcVar29 + 0xd82a8)" * (cast_expression "(int **)(pcVar29 + 0xd82a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0xd82a8)" ( (binary_expression "pcVar29 + 0xd82a8" identifier + number_literal) ))))) ;) (expression_statement "iStack_17c = *piVar24;" (assignment_expression "iStack_17c = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (expression_statement "pcStack_188 = pcVar30;" (assignment_expression "pcStack_188 = pcVar30" identifier = identifier) ;) (expression_statement "pppppppbStack_174 = (byte *******)&local_100;" (assignment_expression "pppppppbStack_174 = (byte *******)&local_100" identifier = (cast_expression "(byte *******)&local_100" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_100" & identifier))) ;) (expression_statement "pcStack_170 = pcVar26;" (assignment_expression "pcStack_170 = pcVar26" identifier = identifier) ;) (expression_statement "pcStack_16c = pcVar36;" (assignment_expression "pcStack_16c = pcVar36" identifier = identifier) ;) (expression_statement "pppppppbStack_160 = pppppppbVar18;" (assignment_expression "pppppppbStack_160 = pppppppbVar18" identifier = identifier) ;) (expression_statement "pppppppbStack_15c = pppppppbVar19;" (assignment_expression "pppppppbStack_15c = pppppppbVar19" identifier = identifier) ;) (if_statement "if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }" if (parenthesized_expression "(*pppppppbVar31 == (byte ******)0x0)" ( (binary_expression "*pppppppbVar31 == (byte ******)0x0" (pointer_expression "*pppppppbVar31" * identifier) == (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }" { (expression_statement "pppppppbVar17 = (byte *******)&pppppppbStack_160;" (assignment_expression "pppppppbVar17 = (byte *******)&pppppppbStack_160" identifier = (cast_expression "(byte *******)&pppppppbStack_160" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&pppppppbStack_160" & identifier))) ;) (expression_statement "pppppppbStack_180 = pppppppbVar17;" (assignment_expression "pppppppbStack_180 = pppppppbVar17" identifier = identifier) ;) (expression_statement "pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);" (assignment_expression "pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6)" identifier = (cast_expression "(byte *******)sqlite3_vmprintf(pppppppbVar6)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "sqlite3_vmprintf(pppppppbVar6)" identifier (argument_list "(pppppppbVar6)" ( identifier ))))) ;) (expression_statement "pcVar30 = pcStack_188;" (assignment_expression "pcVar30 = pcStack_188" identifier = identifier) ;) (expression_statement "pppppppbVar6 = pppppppbVar17;" (assignment_expression "pppppppbVar6 = pppppppbVar17" identifier = identifier) ;) (if_statement "if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }" if (parenthesized_expression "(pppppppbVar11 == (byte *******)0x0)" ( (binary_expression "pppppppbVar11 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      *pppppppbVar31 = (byte ******)0x7;\n    }" { (expression_statement "*pppppppbVar31 = (byte ******)0x7;" (assignment_expression "*pppppppbVar31 = (byte ******)0x7" (pointer_expression "*pppppppbVar31" * identifier) = (cast_expression "(byte ******)0x7" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) })) }) (else_clause "else {\n    pppppppbVar11 = (byte *******)0x0;\n  }" else (compound_statement "{\n    pppppppbVar11 = (byte *******)0x0;\n  }" { (expression_statement "pppppppbVar11 = (byte *******)0x0;" (assignment_expression "pppppppbVar11 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }))) (if_statement "if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }" if (parenthesized_expression "(iStack_17c == *piVar24)" ( (binary_expression "iStack_17c == *piVar24" identifier == (pointer_expression "*piVar24" * identifier)) )) (compound_statement "{\n    return pppppppbVar11;\n  }" { (return_statement "return pppppppbVar11;" return identifier ;) })) (expression_statement "pcVar26 = *(code **)(pcVar30 + -0x7b28);" (assignment_expression "pcVar26 = *(code **)(pcVar30 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcVar30 + -0x7b28)" * (cast_expression "(code **)(pcVar30 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + -0x7b28)" ( (binary_expression "pcVar30 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = iStack_17c;" (assignment_expression "iVar12 = iStack_17c" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pppppppbVar11 = (byte *******)&pppppppbStack_190;" (assignment_expression "pppppppbVar11 = (byte *******)&pppppppbStack_190" identifier = (cast_expression "(byte *******)&pppppppbStack_190" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&pppppppbStack_190" & identifier))) ;) (expression_statement "piVar24 = *(int **)(pcVar26 + 0xd8208);" (assignment_expression "piVar24 = *(int **)(pcVar26 + 0xd8208)" identifier = (pointer_expression "*(int **)(pcVar26 + 0xd8208)" * (cast_expression "(int **)(pcVar26 + 0xd8208)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd8208)" ( (binary_expression "pcVar26 + 0xd8208" identifier + number_literal) ))))) ;) (expression_statement "pppppppbVar17 = (byte *******)*piVar24;" (assignment_expression "pppppppbVar17 = (byte *******)*piVar24" identifier = (cast_expression "(byte *******)*piVar24" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*piVar24" * identifier))) ;) (expression_statement "pppppppbVar31 = pppppppbVar17;" (assignment_expression "pppppppbVar31 = pppppppbVar17" identifier = identifier) ;) (expression_statement "pppppppbStack_190 = pppppppbVar18;" (assignment_expression "pppppppbStack_190 = pppppppbVar18" identifier = identifier) ;) (expression_statement "pppppppbStack_18c = pppppppbVar19;" (assignment_expression "pppppppbStack_18c = pppppppbVar19" identifier = identifier) ;) (if_statement "if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }" if (parenthesized_expression "(*(int *)(iVar12 + 8) == 0)" ( (binary_expression "*(int *)(iVar12 + 8) == 0" (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }" { (expression_statement "uVar35 = sqlite3_vmprintf();" (assignment_expression "uVar35 = sqlite3_vmprintf()" identifier = (call_expression "sqlite3_vmprintf()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar12 + 4) = uVar35;" (assignment_expression "*(undefined4 *)(iVar12 + 4) = uVar35" (pointer_expression "*(undefined4 *)(iVar12 + 4)" * (cast_expression "(undefined4 *)(iVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar12 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar12 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar12 + 8)" * (cast_expression "(undefined4 *)(iVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppbVar31 = pppppppbVar11;" (assignment_expression "pppppppbVar31 = pppppppbVar11" identifier = identifier) ;) })) (expression_statement "pppppppbVar11 = (byte *******)*piVar24;" (assignment_expression "pppppppbVar11 = (byte *******)*piVar24" identifier = (cast_expression "(byte *******)*piVar24" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*piVar24" * identifier))) ;) (if_statement "if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }" if (parenthesized_expression "(pppppppbVar17 == pppppppbVar11)" ( (binary_expression "pppppppbVar17 == pppppppbVar11" identifier == identifier) )) (compound_statement "{\n    return pppppppbVar11;\n  }" { (return_statement "return pppppppbVar11;" return identifier ;) })) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd81dc);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd81dc)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xd81dc)" * (cast_expression "(code **)(pcVar26 + 0xd81dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd81dc)" ( (binary_expression "pcVar26 + 0xd81dc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);" (assignment_expression "iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19)" identifier = (call_expression "(*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19)" (parenthesized_expression "(*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))" ( (pointer_expression "*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0)" * (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0)" ( (binary_expression "*(int *)(pcVar26 + 0xd7f04) + 0x3fb0" (pointer_expression "*(int *)(pcVar26 + 0xd7f04)" * (cast_expression "(int *)(pcVar26 + 0xd7f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7f04)" ( (binary_expression "pcVar26 + 0xd7f04" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19)" ( (binary_expression "pppppppbVar6 + 2" identifier + number_literal) , identifier , identifier )))) ;) (if_statement "if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }" if (parenthesized_expression "(pppppppbVar6[2] == (byte ******)0x0)" ( (binary_expression "pppppppbVar6[2] == (byte ******)0x0" (subscript_expression "pppppppbVar6[2]" identifier [ number_literal ]) == (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }" { (expression_statement "ppppppbVar20 = *pppppppbVar6;" (assignment_expression "ppppppbVar20 = *pppppppbVar6" identifier = (pointer_expression "*pppppppbVar6" * identifier)) ;) (expression_statement "(*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);" (call_expression "(*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12)" (parenthesized_expression "(*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))" ( (pointer_expression "*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8)" * (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8)" ( (binary_expression "*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8" (pointer_expression "*(int *)(pcVar26 + 0xd7e8c)" * (cast_expression "(int *)(pcVar26 + 0xd7e8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7e8c)" ( (binary_expression "pcVar26 + 0xd7e8c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar12)" ( identifier ))) ;) (expression_statement "ppppppbVar22 = (byte ******)ppppppbVar20[3];" (assignment_expression "ppppppbVar22 = (byte ******)ppppppbVar20[3]" identifier = (cast_expression "(byte ******)ppppppbVar20[3]" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppbVar20[3]" identifier [ number_literal ]))) ;) (if_statement "if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }" if (parenthesized_expression "((int)ppppppbVar22 < 1)" ( (binary_expression "(int)ppppppbVar22 < 1" (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }" { (expression_statement "iVar5 = *(int *)(pcVar26 + 0xd7ca8);" (assignment_expression "iVar5 = *(int *)(pcVar26 + 0xd7ca8)" identifier = (pointer_expression "*(int *)(pcVar26 + 0xd7ca8)" * (cast_expression "(int *)(pcVar26 + 0xd7ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7ca8)" ( (binary_expression "pcVar26 + 0xd7ca8" identifier + number_literal) ))))) ;) (if_statement "if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }" if (parenthesized_expression "(ppppppbVar22 != (byte ******)0x0)" ( (binary_expression "ppppppbVar22 != (byte ******)0x0" identifier != (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }" { (expression_statement "ppppppbVar25 = (byte ******)0x0;" (assignment_expression "ppppppbVar25 = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (labeled_statement "LAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;" statement_identifier : (expression_statement "ppppppbVar22 = (byte ******)0x0;" (assignment_expression "ppppppbVar22 = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (if_statement "if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }" if (parenthesized_expression "(pppppppbVar31 != (byte *******)0x0)" ( (binary_expression "pppppppbVar31 != (byte *******)0x0" identifier != (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          ppppppbVar22 = *pppppppbVar31;\n        }" { (expression_statement "ppppppbVar22 = *pppppppbVar31;" (assignment_expression "ppppppbVar22 = *pppppppbVar31" identifier = (pointer_expression "*pppppppbVar31" * identifier)) ;) })) (expression_statement "iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();" (assignment_expression "iVar5 = (**(code **)(pcVar26 + 0xd7ed4))()" identifier = (call_expression "(**(code **)(pcVar26 + 0xd7ed4))()" (parenthesized_expression "(**(code **)(pcVar26 + 0xd7ed4))" ( (pointer_expression "**(code **)(pcVar26 + 0xd7ed4)" * (pointer_expression "*(code **)(pcVar26 + 0xd7ed4)" * (cast_expression "(code **)(pcVar26 + 0xd7ed4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd7ed4)" ( (binary_expression "pcVar26 + 0xd7ed4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }" if (parenthesized_expression "((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0))" ( (binary_expression "(iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) || (parenthesized_expression "(pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)" ( (comma_expression "pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0" (assignment_expression "pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31)" identifier = (cast_expression "(byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31)" (parenthesized_expression "(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))" ( (pointer_expression "*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354)" * (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xd7ef4) + 0x354)" ( (binary_expression "*(int *)(pcVar26 + 0xd7ef4) + 0x354" (pointer_expression "*(int *)(pcVar26 + 0xd7ef4)" * (cast_expression "(int *)(pcVar26 + 0xd7ef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7ef4)" ( (binary_expression "pcVar26 + 0xd7ef4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppppbVar31)" ( identifier ))))) , (binary_expression "pppppppbVar19 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) ))) )) (compound_statement "{\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }" { (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd7cb8);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd7cb8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" * (cast_expression "(code **)(pcVar26 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd7cb8)" ( (binary_expression "pcVar26 + 0xd7cb8" identifier + number_literal) ))))) ;) (expression_statement "pppppppbVar6[2] = (byte ******)0x7;" (assignment_expression "pppppppbVar6[2] = (byte ******)0x7" (subscript_expression "pppppppbVar6[2]" identifier [ number_literal ]) = (cast_expression "(byte ******)0x7" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "(*pcVar26)(iVar12);" (call_expression "(*pcVar26)(iVar12)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar12)" ( identifier ))) ;) (goto_statement "goto LAB_000b8d20;" goto statement_identifier ;) })) (expression_statement "pppppppbVar6 = pppppppbVar19 + 1;" (assignment_expression "pppppppbVar6 = pppppppbVar19 + 1" identifier = (binary_expression "pppppppbVar19 + 1" identifier + number_literal)) ;) (if_statement "if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }" if (parenthesized_expression "(0 < (int)ppppppbVar22)" ( (binary_expression "0 < (int)ppppppbVar22" number_literal < (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }" { (if_statement "if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;" if (parenthesized_expression "(pppppppbVar19[1] == ppppppbVar25)" ( (binary_expression "pppppppbVar19[1] == ppppppbVar25" (subscript_expression "pppppppbVar19[1]" identifier [ number_literal ]) == identifier) )) (goto_statement "goto LAB_000b8e6c;" goto statement_identifier ;)) (expression_statement "ppppppbVar20 = (byte ******)0x0;" (assignment_expression "ppppppbVar20 = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }" if (parenthesized_expression "((int)pppppppbVar19[1] <= (int)ppppppbVar25)" ( (binary_expression "(int)pppppppbVar19[1] <= (int)ppppppbVar25" (cast_expression "(int)pppppppbVar19[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppbVar19[1]" identifier [ number_literal ])) <= (cast_expression "(int)ppppppbVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }" { (expression_statement "ppppppbVar20 = (byte ******)0x0;" (assignment_expression "ppppppbVar20 = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppbVar31 = pppppppbVar19 + 2;" (assignment_expression "pppppppbVar31 = pppppppbVar19 + 2" identifier = (binary_expression "pppppppbVar19 + 2" identifier + number_literal)) ;) (do_statement "do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);" do (compound_statement "{\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            }" { (expression_statement "pppppppbVar6 = pppppppbVar31;" (assignment_expression "pppppppbVar6 = pppppppbVar31" identifier = identifier) ;) (expression_statement "ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);" (assignment_expression "ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1)" identifier = (cast_expression "(byte ******)((int)ppppppbVar20 + 1)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppbVar20 + 1)" ( (binary_expression "(int)ppppppbVar20 + 1" (cast_expression "(int)ppppppbVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;" if (parenthesized_expression "(ppppppbVar22 == ppppppbVar20)" ( (binary_expression "ppppppbVar22 == ppppppbVar20" identifier == identifier) )) (goto_statement "goto LAB_000b8e64;" goto statement_identifier ;)) (if_statement "if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;" if (parenthesized_expression "(*pppppppbVar6 == ppppppbVar25)" ( (binary_expression "*pppppppbVar6 == ppppppbVar25" (pointer_expression "*pppppppbVar6" * identifier) == identifier) )) (goto_statement "goto LAB_000b8e6c;" goto statement_identifier ;)) (expression_statement "pppppppbVar31 = pppppppbVar6 + 1;" (assignment_expression "pppppppbVar31 = pppppppbVar6 + 1" identifier = (binary_expression "pppppppbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)*pppppppbVar6 <= (int)ppppppbVar25)" ( (binary_expression "(int)*pppppppbVar6 <= (int)ppppppbVar25" (cast_expression "(int)*pppppppbVar6" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppppbVar6" * identifier)) <= (cast_expression "(int)ppppppbVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;" (assignment_expression "pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22" identifier = (binary_expression "pppppppbVar19 + (int)ppppppbVar22" identifier + (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "ppppppbVar16 = ppppppbVar22;" (assignment_expression "ppppppbVar16 = ppppppbVar22" identifier = identifier) ;) (do_statement "do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);" do (compound_statement "{\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          }" { (expression_statement "ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);" (assignment_expression "ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1)" identifier = (cast_expression "(byte ******)((int)ppppppbVar16 + -1)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppbVar16 + -1)" ( (binary_expression "(int)ppppppbVar16 + -1" (cast_expression "(int)ppppppbVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppbVar31[1] = *pppppppbVar31;" (assignment_expression "pppppppbVar31[1] = *pppppppbVar31" (subscript_expression "pppppppbVar31[1]" identifier [ number_literal ]) = (pointer_expression "*pppppppbVar31" * identifier)) ;) (expression_statement "pppppppbVar31 = pppppppbVar31 + -1;" (assignment_expression "pppppppbVar31 = pppppppbVar31 + -1" identifier = (binary_expression "pppppppbVar31 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)ppppppbVar20 < (int)ppppppbVar16)" ( (binary_expression "(int)ppppppbVar20 < (int)ppppppbVar16" (cast_expression "(int)ppppppbVar20" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppbVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (labeled_statement "LAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;" statement_identifier : (expression_statement "*pppppppbVar6 = ppppppbVar25;" (assignment_expression "*pppppppbVar6 = ppppppbVar25" (pointer_expression "*pppppppbVar6" * identifier) = identifier) ;)) (expression_statement "*pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);" (assignment_expression "*pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1)" (pointer_expression "*pppppppbVar19" * identifier) = (cast_expression "(byte ******)((int)ppppppbVar22 + 1)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppbVar22 + 1)" ( (binary_expression "(int)ppppppbVar22 + 1" (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0xd7cb8))(iVar12);" (call_expression "(**(code **)(pcVar26 + 0xd7cb8))(iVar12)" (parenthesized_expression "(**(code **)(pcVar26 + 0xd7cb8))" ( (pointer_expression "**(code **)(pcVar26 + 0xd7cb8)" * (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" * (cast_expression "(code **)(pcVar26 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd7cb8)" ( (binary_expression "pcVar26 + 0xd7cb8" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier ))) ;)) (return_statement "return pppppppbVar19;" return identifier ;) })) }) (else_clause "else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }" else (compound_statement "{\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }" { (expression_statement "ppppppbVar25 = (byte ******)0x0;" (assignment_expression "ppppppbVar25 = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppbVar21 = ppppppbVar20[4];" (assignment_expression "pppppbVar21 = ppppppbVar20[4]" identifier = (subscript_expression "ppppppbVar20[4]" identifier [ number_literal ])) ;) (expression_statement "pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);" (assignment_expression "pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8)" identifier = (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8)" ( (binary_expression "*(int *)(pcVar26 + 0xd7ef4) + 0x20c8" (pointer_expression "*(int *)(pcVar26 + 0xd7ef4)" * (cast_expression "(int *)(pcVar26 + 0xd7ef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7ef4)" ( (binary_expression "pcVar26 + 0xd7ef4" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);" do (compound_statement "{\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      }" { (expression_statement "ppppbVar13 = *pppppbVar21;" (assignment_expression "ppppbVar13 = *pppppbVar21" identifier = (pointer_expression "*pppppbVar21" * identifier)) ;) (expression_statement "pppppbVar21 = pppppbVar21 + 1;" (assignment_expression "pppppbVar21 = pppppbVar21 + 1" identifier = (binary_expression "pppppbVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = iVar12;" (assignment_expression "iVar5 = iVar12" identifier = identifier) ;) (if_statement "if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" if (parenthesized_expression "(ppppbVar13 == (byte ****)0x0)" ( (binary_expression "ppppbVar13 == (byte ****)0x0" identifier == (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }" { (labeled_statement "joined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;" statement_identifier : (if_statement "if (iVar5 == 0) goto LAB_000b8dcc;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b8dcc;" goto statement_identifier ;))) }) (else_clause "else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" else (if_statement "if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" { (expression_statement "iVar5 = (*pcVar30)(ppppbVar13,iVar12);" (assignment_expression "iVar5 = (*pcVar30)(ppppbVar13,iVar12)" identifier = (call_expression "(*pcVar30)(ppppbVar13,iVar12)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(ppppbVar13,iVar12)" ( identifier , identifier )))) ;) (goto_statement "goto joined_r0x000b8d9c;" goto statement_identifier ;) })))) (expression_statement "ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);" (assignment_expression "ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1)" identifier = (cast_expression "(byte ******)((int)ppppppbVar25 + 1)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppbVar25 + 1)" ( (binary_expression "(int)ppppppbVar25 + 1" (cast_expression "(int)ppppppbVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(pcVar26 + 0xd7ca8);" (assignment_expression "iVar5 = *(int *)(pcVar26 + 0xd7ca8)" identifier = (pointer_expression "*(int *)(pcVar26 + 0xd7ca8)" * (cast_expression "(int *)(pcVar26 + 0xd7ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7ca8)" ( (binary_expression "pcVar26 + 0xd7ca8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(ppppppbVar25 != ppppppbVar22)" ( (binary_expression "ppppppbVar25 != ppppppbVar22" identifier != identifier) )) ;) }))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd7cb8);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd7cb8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" * (cast_expression "(code **)(pcVar26 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd7cb8)" ( (binary_expression "pcVar26 + 0xd7cb8" identifier + number_literal) ))))) ;) (expression_statement "FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);" (call_expression "FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12)" identifier (argument_list "(pppppppbVar6,iVar5 + -0x4c3c,iVar12)" ( identifier , (binary_expression "iVar5 + -0x4c3c" identifier + number_literal) , identifier ))) ;) (expression_statement "(*pcVar26)(iVar12);" (call_expression "(*pcVar26)(iVar12)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar12)" ( identifier ))) ;) }) (else_clause "else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }" else (compound_statement "{\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }" { (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd7cb8);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd7cb8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" * (cast_expression "(code **)(pcVar26 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd7cb8)" ( (binary_expression "pcVar26 + 0xd7cb8" identifier + number_literal) ))))) ;) }))) (labeled_statement "LAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);" statement_identifier : (expression_statement "(*pcVar26)(pppppppbVar31);" (call_expression "(*pcVar26)(pppppppbVar31)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pppppppbVar31)" ( identifier ))) ;)) (return_statement "return (byte *******)0x0;" return (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nint fts5DecodeDoclist(int *pRc,Fts5Buffer *pBuf,u8 *a,int n)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  sqlite3 *psVar3;\n  uint uVar4;\n  Vdbe *pVVar5;\n  undefined4 uVar6;\n  sqlite3 *psVar7;\n  Fts5Parse *pFVar8;\n  int iVar9;\n  char *pcVar10;\n  sqlite3 **ppsVar11;\n  uint uVar12;\n  sqlite3 *psVar13;\n  int *piVar14;\n  void *pvVar15;\n  Fts5Buffer *pFVar16;\n  u8 *puVar17;\n  Fts5Parse *ap;\n  sqlite3 **ppsVar18;\n  sqlite3 **ppsVar19;\n  int iVar20;\n  sqlite3 *psVar21;\n  int *piVar22;\n  Fts5Config *pFVar23;\n  char **ppcVar24;\n  int iVar25;\n  undefined *puVar26;\n  undefined *unaff_s0;\n  int *piVar27;\n  undefined4 *puVar28;\n  int iVar29;\n  u8 *unaff_s3;\n  u32 *puVar30;\n  sqlite3 *psVar31;\n  u32 unaff_s4;\n  sqlite3 *psVar32;\n  int *unaff_s5;\n  int *unaff_s6;\n  i64 *unaff_s7;\n  undefined *puVar33;\n  code *pcVar34;\n  code *pcVar35;\n  undefined *puVar36;\n  int iVar37;\n  code *pcVar38;\n  code *pcVar39;\n  undefined8 uVar40;\n  sqlite3 *psStack_190;\n  sqlite3 *psStack_18c;\n  code *pcStack_188;\n  Fts5Parse *pFStack_180;\n  int iStack_17c;\n  Fts5Buffer *pFStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  Fts5Parse FStack_160;\n  undefined *puStack_148;\n  code *pcStack_13c;\n  sqlite3 *psStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  sqlite3 *psStack_12c;\n  sqlite3 *psStack_128;\n  sqlite3 *psStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  int iStack_118;\n  sqlite3 *psStack_114;\n  Fts5Parse *pFStack_110;\n  sqlite3 *psStack_10c;\n  sqlite3 *psStack_108;\n  sqlite3 *psStack_104;\n  Fts5Buffer FStack_100;\n  sqlite3 *psStack_f4;\n  Vdbe *pVStack_f0;\n  sqlite3 *psStack_e8;\n  sqlite3 *psStack_e4;\n  CollSeq *pCStack_e0;\n  sqlite3_mutex *psStack_dc;\n  sqlite3 *psStack_d8;\n  int iStack_d4;\n  sqlite3 *psStack_d0;\n  uint uStack_cc;\n  int iStack_c4;\n  undefined *puStack_c0;\n  int *piStack_bc;\n  Fts5Buffer *pFStack_b8;\n  u8 *puStack_b4;\n  u32 uStack_b0;\n  int *piStack_ac;\n  int *piStack_a8;\n  i64 *piStack_a4;\n  undefined *puStack_a0;\n  code *pcStack_9c;\n  sqlite3 *psStack_88;\n  uint uStack_84;\n  int nPos;\n  int bDel;\n  i64 iDocid;\n  i64 iDelta;\n  void *pvStack_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar33 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  iDocid._4_4_ = 0;\n  iDocid._0_4_ = (sqlite3 *)0x0;\n  pvStack_2c = *(void **)PTR___stack_chk_guard_00190e24;\n  puVar36 = (undefined *)0x0;\n  psVar7 = (sqlite3 *)a;\n  psVar31 = (sqlite3 *)n;\n  puStack_b4 = unaff_s3;\n  uStack_b0 = unaff_s4;\n  if (0 < n) {\n    pcVar38 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    puVar36 = (undefined *)(*pcVar38)(a,&iDocid);\n    unaff_s0 = PTR_LAB_00190c2c;\n    psVar7 = (sqlite3 *)(puVar26 + -0x4cdc);\n    uStack_84 = iDocid._4_4_;\n    psStack_88 = iDocid._0_4_;\n    pcVar35 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    sqlite3Fts5BufferAppendPrintf(pRc,pBuf,(char *)psVar7);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    puStack_b4 = a;\n    uStack_b0 = n;\n    if ((int)puVar36 < n) {\n      unaff_s5 = &bDel;\n      unaff_s6 = &nPos;\n      unaff_s7 = &iDelta;\n      pcVar34 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      psVar21 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      psVar32 = (sqlite3 *)(PTR_LAB_00190958 + 0x30a8);\n      psVar3 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);\n        puVar36 = puVar36 + iVar37;\n        psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);\n        psStack_88 = psVar32;\n        if (bDel != 0) {\n          psStack_88 = psVar21;\n        }\n        psVar31 = (sqlite3 *)nPos;\n        (*pcVar35)(pRc,pBuf);\n        iVar37 = nPos;\n        if (n - (int)puVar36 <= nPos) {\n          iVar37 = n - (int)puVar36;\n        }\n        if (0 < iVar37) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }\n        if (n <= (int)puVar36) break;\n        iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);\n        puVar36 = puVar36 + iVar37;\n        uStack_84 = iDocid._4_4_ + iDelta._4_4_;\n        psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));\n        psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);\n        psStack_88 = psVar31;\n        iDocid._0_4_ = psVar31;\n        iDocid._4_4_ = uStack_84;\n        (*pcVar35)(pRc,pBuf);\n      } while ((int)puVar36 < n);\n    }\n  }\n  if (pvStack_2c == *(void **)puVar2) {\n    return (int)puVar36;\n  }\n  pcVar38 = fts5DecodeFunction;\n  pvVar15 = pvStack_2c;\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_148 = puVar33 + 0xe0838;\n  piStack_130 = *(int **)(puVar33 + 0xd8d3c);\n  pFStack_110 = (Fts5Parse *)0x0;\n  iStack_c4 = *piStack_130;\n  iVar37 = *(int *)(*(int *)((int)pvVar15 + 4) + 8);\n  FStack_100.p = (u8 *)0x0;\n  FStack_100.n = 0;\n  FStack_100.nSpace = 0;\n  psVar21 = psVar7;\n  puStack_c0 = unaff_s0;\n  piStack_bc = pRc;\n  pFStack_b8 = pBuf;\n  piStack_ac = unaff_s5;\n  piStack_a8 = unaff_s6;\n  piStack_a4 = unaff_s7;\n  puStack_a0 = puVar36;\n  pcStack_9c = pcVar38;\n  uVar40 = (*(code *)(*(int *)(puVar33 + 0xd8ac0) + 0x7f68))((sqlite3 *)psVar7->pVfs);\n  uVar4 = (uint)((ulonglong)uVar40 >> 0x20);\n  uVar12 = (uint)uVar40;\n  pVVar5 = (Vdbe *)(*(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88))(psVar7->pVdbe,1);\n  uVar6 = (**(code **)(puStack_148 + -0x7f64))(psVar7->pVdbe);\n  if (pFStack_110 == (Fts5Parse *)0x0) {\n    psVar31 = (sqlite3 *)&pVVar5->pNext;\n    psVar21 = (sqlite3 *)((int)psVar31 >> 0x1f);\n    psVar7 = (sqlite3 *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))(&pFStack_110);\n    if (psVar7 == (sqlite3 *)0x0) goto LAB_000b82dc;\n    if (0 < (int)pVVar5) {\n      (**(code **)(puStack_148 + -0x7af4))(psVar7,uVar6,pVVar5);\n    }\n    psVar21 = (sqlite3 *)((uVar4 << 0xb) >> 0x10);\n    psStack_138 = (sqlite3 *)(uVar12 & 0x7fffffff);\n    iVar25 = uVar4 << 0x1b;\n    if (psVar21 != (sqlite3 *)0x0) {\n      FStack_160.nPhrase = (uVar4 & 0xf) << 1 | uVar12 >> 0x1f;\n      FStack_160.rc = (int)psVar21;\n      FStack_160.apPhrase = (Fts5ExprPhrase **)psStack_138;\n      if (iVar25 < 0) {\n        pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);\n        psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n        sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n        goto LAB_000b8528;\n      }\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar37 == 0) {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_104 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        if (3 < (int)pVVar5) {\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }\n        psVar21 = (sqlite3 *)&DAT_00000007;\n        FStack_100.n = 0;\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);\n        sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_108 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_12c = psVar32;\n        psVar31 = psVar32;\n        if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }\n        psStack_10c = psVar31;\n        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;\n        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);\n        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);\n        psVar21 = psStack_10c;\n        if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        pcVar38 = (code *)(iVar37 + 0x7c);\n        (*pcVar38)(psStack_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) &&\n       (pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1)) {\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) {\nLAB_000b8528:\n        iVar37 = *(int *)(puStack_148 + -0x7d7c);\n        psStack_e8 = (sqlite3 *)&psStack_f4;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_dc = (sqlite3_mutex *)0x0;\n        iStack_d4 = 0;\n        psStack_d0 = (sqlite3 *)0x0;\n        uStack_cc = 0;\n        psStack_d8 = psStack_138;\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_f4 = psVar7;\n        pVStack_f0 = pVVar5;\n        (*(code *)(iVar37 + 0x687c))();\n        pFVar8 = pFStack_110;\n        if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7fc4);\n        do {\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        } while (pCStack_e0 == (CollSeq *)0x0);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pFVar8 = pFStack_110;\n        if ((int)pVVar5 < 1) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7de0);\n        iVar20 = *(int *)(puStack_148 + -0x7fc8);\n        iVar29 = *(int *)(puStack_148 + -0x7fc4);\n        iVar37 = 0;\n        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) goto LAB_000b8528;\n      psVar31 = (sqlite3 *)&psStack_e8;\n      psVar21 = (sqlite3 *)0x0;\n      psStack_e8 = (sqlite3 *)0x0;\n      pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5);\n      if (pFVar8 == (Fts5Parse *)0x0) {\n        psStack_138 = psStack_e8;\n        if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }\n        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);\n        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;\n        psStack_138 = psStack_e8;\n        pFVar8 = pFStack_110;\n        if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      pFStack_110 = pFVar8;\n      pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 == (Fts5Parse *)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pFVar8 = pFStack_110;\n    (**(code **)(puStack_148 + -0x7f4c))(pvVar15);\n  }\n  else {\nLAB_000b82dc:\n    psVar7 = (sqlite3 *)0x0;\n    pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 != (Fts5Parse *)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pFVar8 = (Fts5Parse *)((int)pvVar15 + 0x14);\n    FStack_160.nPhrase = 0xffffffff;\n    FStack_160.rc = 1;\n    psVar21 = (sqlite3 *)FStack_100.p;\n    psVar31 = (sqlite3 *)FStack_100.n;\n    (*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0))(pvVar15);\n  }\n  pFVar16 = &FStack_100;\n  (*pcVar38)();\n  if (iStack_c4 == *piStack_130) {\n    return *piStack_130;\n  }\n  pcVar34 = *(code **)(puStack_148 + -0x7b28);\n  pcVar39 = sqlite3Fts5Mprintf;\n  (*pcVar34)();\n  pcVar35 = pcVar34 + 0xdfda4;\n  piVar27 = *(int **)(pcVar34 + 0xd82a8);\n  iStack_17c = *piVar27;\n  pcStack_188 = pcVar35;\n  pFStack_174 = &FStack_100;\n  pcStack_170 = pcVar38;\n  pcStack_16c = pcVar39;\n  FStack_160.pConfig = (Fts5Config *)psVar21;\n  FStack_160.zErr = (char *)psVar31;\n  if (pFVar16->p == (u8 *)0x0) {\n    ap = &FStack_160;\n    pFStack_180 = ap;\n    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ap);\n    pcVar35 = pcStack_188;\n    pFVar8 = ap;\n    if (pcVar10 == (char *)0x0) {\n      pFVar16->p = (u8 *)0x7;\n    }\n  }\n  else {\n    pcVar10 = (char *)0x0;\n  }\n  if (iStack_17c == *piVar27) {\n    return (int)pcVar10;\n  }\n  pcVar38 = *(code **)(pcVar35 + -0x7b28);\n  iVar37 = iStack_17c;\n  (*pcVar38)();\n  ppsVar11 = &psStack_190;\n  puVar28 = *(undefined4 **)(pcVar38 + 0xd8208);\n  ppsVar18 = (sqlite3 **)*puVar28;\n  ppsVar19 = ppsVar18;\n  psStack_190 = psVar21;\n  psStack_18c = psVar31;\n  if (*(int *)(iVar37 + 8) == 0) {\n    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ppsVar11);\n    *(char **)(iVar37 + 4) = pcVar10;\n    *(undefined4 *)(iVar37 + 8) = 1;\n    ppsVar19 = ppsVar11;\n  }\n  ppsVar11 = (sqlite3 **)*puVar28;\n  if (ppsVar18 == ppsVar11) {\n    return (int)ppsVar11;\n  }\n  pcVar38 = *(code **)(pcVar38 + 0xd81dc);\n  (*pcVar38)();\n  iVar37 = (*(code *)(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0))(&pFVar8->rc,psVar21,psVar31);\n  if (pFVar8->rc == 0) {\n    pFVar23 = pFVar8->pConfig;\n    (*(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8))(iVar37);\n    iVar25 = pFVar23->nCol;\n    if (iVar25 < 1) {\n      iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      if (iVar25 != 0) {\n        iVar29 = 0;\nLAB_000b8dcc:\n        psVar31 = (sqlite3 *)0x0;\n        if (ppsVar19 != (sqlite3 **)0x0) {\n          psVar31 = *ppsVar19;\n        }\n        iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();\n        if ((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)) {\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }\n        piVar22 = piVar27 + 1;\n        if (0 < (int)psVar31) {\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }\nLAB_000b8e64:\n        *piVar22 = iVar29;\n        *piVar27 = (int)((int)&psVar31->pVfs + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);\n        return (int)piVar27;\n      }\n    }\n    else {\n      iVar29 = 0;\n      ppcVar24 = pFVar23->azCol;\n      pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8);\n      do {\n        pcVar10 = *ppcVar24;\n        ppcVar24 = ppcVar24 + 1;\n        iVar20 = iVar37;\n        if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }\n        iVar29 = iVar29 + 1;\n        iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      } while (iVar29 != iVar25);\n    }\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n    sqlite3Fts5ParseError(pFVar8,(char *)(iVar20 + -0x4c3c),iVar37);\n    (*pcVar38)(iVar37);\n  }\n  else {\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar38)(ppsVar19);\n  return 0;\n}\n\n" comment (function_definition "int fts5DecodeDoclist(int *pRc,Fts5Buffer *pBuf,u8 *a,int n)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  sqlite3 *psVar3;\n  uint uVar4;\n  Vdbe *pVVar5;\n  undefined4 uVar6;\n  sqlite3 *psVar7;\n  Fts5Parse *pFVar8;\n  int iVar9;\n  char *pcVar10;\n  sqlite3 **ppsVar11;\n  uint uVar12;\n  sqlite3 *psVar13;\n  int *piVar14;\n  void *pvVar15;\n  Fts5Buffer *pFVar16;\n  u8 *puVar17;\n  Fts5Parse *ap;\n  sqlite3 **ppsVar18;\n  sqlite3 **ppsVar19;\n  int iVar20;\n  sqlite3 *psVar21;\n  int *piVar22;\n  Fts5Config *pFVar23;\n  char **ppcVar24;\n  int iVar25;\n  undefined *puVar26;\n  undefined *unaff_s0;\n  int *piVar27;\n  undefined4 *puVar28;\n  int iVar29;\n  u8 *unaff_s3;\n  u32 *puVar30;\n  sqlite3 *psVar31;\n  u32 unaff_s4;\n  sqlite3 *psVar32;\n  int *unaff_s5;\n  int *unaff_s6;\n  i64 *unaff_s7;\n  undefined *puVar33;\n  code *pcVar34;\n  code *pcVar35;\n  undefined *puVar36;\n  int iVar37;\n  code *pcVar38;\n  code *pcVar39;\n  undefined8 uVar40;\n  sqlite3 *psStack_190;\n  sqlite3 *psStack_18c;\n  code *pcStack_188;\n  Fts5Parse *pFStack_180;\n  int iStack_17c;\n  Fts5Buffer *pFStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  Fts5Parse FStack_160;\n  undefined *puStack_148;\n  code *pcStack_13c;\n  sqlite3 *psStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  sqlite3 *psStack_12c;\n  sqlite3 *psStack_128;\n  sqlite3 *psStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  int iStack_118;\n  sqlite3 *psStack_114;\n  Fts5Parse *pFStack_110;\n  sqlite3 *psStack_10c;\n  sqlite3 *psStack_108;\n  sqlite3 *psStack_104;\n  Fts5Buffer FStack_100;\n  sqlite3 *psStack_f4;\n  Vdbe *pVStack_f0;\n  sqlite3 *psStack_e8;\n  sqlite3 *psStack_e4;\n  CollSeq *pCStack_e0;\n  sqlite3_mutex *psStack_dc;\n  sqlite3 *psStack_d8;\n  int iStack_d4;\n  sqlite3 *psStack_d0;\n  uint uStack_cc;\n  int iStack_c4;\n  undefined *puStack_c0;\n  int *piStack_bc;\n  Fts5Buffer *pFStack_b8;\n  u8 *puStack_b4;\n  u32 uStack_b0;\n  int *piStack_ac;\n  int *piStack_a8;\n  i64 *piStack_a4;\n  undefined *puStack_a0;\n  code *pcStack_9c;\n  sqlite3 *psStack_88;\n  uint uStack_84;\n  int nPos;\n  int bDel;\n  i64 iDocid;\n  i64 iDelta;\n  void *pvStack_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar33 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  iDocid._4_4_ = 0;\n  iDocid._0_4_ = (sqlite3 *)0x0;\n  pvStack_2c = *(void **)PTR___stack_chk_guard_00190e24;\n  puVar36 = (undefined *)0x0;\n  psVar7 = (sqlite3 *)a;\n  psVar31 = (sqlite3 *)n;\n  puStack_b4 = unaff_s3;\n  uStack_b0 = unaff_s4;\n  if (0 < n) {\n    pcVar38 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    puVar36 = (undefined *)(*pcVar38)(a,&iDocid);\n    unaff_s0 = PTR_LAB_00190c2c;\n    psVar7 = (sqlite3 *)(puVar26 + -0x4cdc);\n    uStack_84 = iDocid._4_4_;\n    psStack_88 = iDocid._0_4_;\n    pcVar35 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    sqlite3Fts5BufferAppendPrintf(pRc,pBuf,(char *)psVar7);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    puStack_b4 = a;\n    uStack_b0 = n;\n    if ((int)puVar36 < n) {\n      unaff_s5 = &bDel;\n      unaff_s6 = &nPos;\n      unaff_s7 = &iDelta;\n      pcVar34 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      psVar21 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      psVar32 = (sqlite3 *)(PTR_LAB_00190958 + 0x30a8);\n      psVar3 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);\n        puVar36 = puVar36 + iVar37;\n        psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);\n        psStack_88 = psVar32;\n        if (bDel != 0) {\n          psStack_88 = psVar21;\n        }\n        psVar31 = (sqlite3 *)nPos;\n        (*pcVar35)(pRc,pBuf);\n        iVar37 = nPos;\n        if (n - (int)puVar36 <= nPos) {\n          iVar37 = n - (int)puVar36;\n        }\n        if (0 < iVar37) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }\n        if (n <= (int)puVar36) break;\n        iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);\n        puVar36 = puVar36 + iVar37;\n        uStack_84 = iDocid._4_4_ + iDelta._4_4_;\n        psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));\n        psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);\n        psStack_88 = psVar31;\n        iDocid._0_4_ = psVar31;\n        iDocid._4_4_ = uStack_84;\n        (*pcVar35)(pRc,pBuf);\n      } while ((int)puVar36 < n);\n    }\n  }\n  if (pvStack_2c == *(void **)puVar2) {\n    return (int)puVar36;\n  }\n  pcVar38 = fts5DecodeFunction;\n  pvVar15 = pvStack_2c;\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_148 = puVar33 + 0xe0838;\n  piStack_130 = *(int **)(puVar33 + 0xd8d3c);\n  pFStack_110 = (Fts5Parse *)0x0;\n  iStack_c4 = *piStack_130;\n  iVar37 = *(int *)(*(int *)((int)pvVar15 + 4) + 8);\n  FStack_100.p = (u8 *)0x0;\n  FStack_100.n = 0;\n  FStack_100.nSpace = 0;\n  psVar21 = psVar7;\n  puStack_c0 = unaff_s0;\n  piStack_bc = pRc;\n  pFStack_b8 = pBuf;\n  piStack_ac = unaff_s5;\n  piStack_a8 = unaff_s6;\n  piStack_a4 = unaff_s7;\n  puStack_a0 = puVar36;\n  pcStack_9c = pcVar38;\n  uVar40 = (*(code *)(*(int *)(puVar33 + 0xd8ac0) + 0x7f68))((sqlite3 *)psVar7->pVfs);\n  uVar4 = (uint)((ulonglong)uVar40 >> 0x20);\n  uVar12 = (uint)uVar40;\n  pVVar5 = (Vdbe *)(*(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88))(psVar7->pVdbe,1);\n  uVar6 = (**(code **)(puStack_148 + -0x7f64))(psVar7->pVdbe);\n  if (pFStack_110 == (Fts5Parse *)0x0) {\n    psVar31 = (sqlite3 *)&pVVar5->pNext;\n    psVar21 = (sqlite3 *)((int)psVar31 >> 0x1f);\n    psVar7 = (sqlite3 *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))(&pFStack_110);\n    if (psVar7 == (sqlite3 *)0x0) goto LAB_000b82dc;\n    if (0 < (int)pVVar5) {\n      (**(code **)(puStack_148 + -0x7af4))(psVar7,uVar6,pVVar5);\n    }\n    psVar21 = (sqlite3 *)((uVar4 << 0xb) >> 0x10);\n    psStack_138 = (sqlite3 *)(uVar12 & 0x7fffffff);\n    iVar25 = uVar4 << 0x1b;\n    if (psVar21 != (sqlite3 *)0x0) {\n      FStack_160.nPhrase = (uVar4 & 0xf) << 1 | uVar12 >> 0x1f;\n      FStack_160.rc = (int)psVar21;\n      FStack_160.apPhrase = (Fts5ExprPhrase **)psStack_138;\n      if (iVar25 < 0) {\n        pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);\n        psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n        sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n        goto LAB_000b8528;\n      }\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar37 == 0) {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_104 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        if (3 < (int)pVVar5) {\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }\n        psVar21 = (sqlite3 *)&DAT_00000007;\n        FStack_100.n = 0;\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);\n        sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_108 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_12c = psVar32;\n        psVar31 = psVar32;\n        if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }\n        psStack_10c = psVar31;\n        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;\n        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);\n        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);\n        psVar21 = psStack_10c;\n        if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        pcVar38 = (code *)(iVar37 + 0x7c);\n        (*pcVar38)(psStack_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) &&\n       (pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1)) {\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) {\nLAB_000b8528:\n        iVar37 = *(int *)(puStack_148 + -0x7d7c);\n        psStack_e8 = (sqlite3 *)&psStack_f4;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_dc = (sqlite3_mutex *)0x0;\n        iStack_d4 = 0;\n        psStack_d0 = (sqlite3 *)0x0;\n        uStack_cc = 0;\n        psStack_d8 = psStack_138;\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_f4 = psVar7;\n        pVStack_f0 = pVVar5;\n        (*(code *)(iVar37 + 0x687c))();\n        pFVar8 = pFStack_110;\n        if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7fc4);\n        do {\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        } while (pCStack_e0 == (CollSeq *)0x0);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pFVar8 = pFStack_110;\n        if ((int)pVVar5 < 1) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7de0);\n        iVar20 = *(int *)(puStack_148 + -0x7fc8);\n        iVar29 = *(int *)(puStack_148 + -0x7fc4);\n        iVar37 = 0;\n        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) goto LAB_000b8528;\n      psVar31 = (sqlite3 *)&psStack_e8;\n      psVar21 = (sqlite3 *)0x0;\n      psStack_e8 = (sqlite3 *)0x0;\n      pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5);\n      if (pFVar8 == (Fts5Parse *)0x0) {\n        psStack_138 = psStack_e8;\n        if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }\n        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);\n        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;\n        psStack_138 = psStack_e8;\n        pFVar8 = pFStack_110;\n        if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      pFStack_110 = pFVar8;\n      pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 == (Fts5Parse *)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pFVar8 = pFStack_110;\n    (**(code **)(puStack_148 + -0x7f4c))(pvVar15);\n  }\n  else {\nLAB_000b82dc:\n    psVar7 = (sqlite3 *)0x0;\n    pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 != (Fts5Parse *)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pFVar8 = (Fts5Parse *)((int)pvVar15 + 0x14);\n    FStack_160.nPhrase = 0xffffffff;\n    FStack_160.rc = 1;\n    psVar21 = (sqlite3 *)FStack_100.p;\n    psVar31 = (sqlite3 *)FStack_100.n;\n    (*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0))(pvVar15);\n  }\n  pFVar16 = &FStack_100;\n  (*pcVar38)();\n  if (iStack_c4 == *piStack_130) {\n    return *piStack_130;\n  }\n  pcVar34 = *(code **)(puStack_148 + -0x7b28);\n  pcVar39 = sqlite3Fts5Mprintf;\n  (*pcVar34)();\n  pcVar35 = pcVar34 + 0xdfda4;\n  piVar27 = *(int **)(pcVar34 + 0xd82a8);\n  iStack_17c = *piVar27;\n  pcStack_188 = pcVar35;\n  pFStack_174 = &FStack_100;\n  pcStack_170 = pcVar38;\n  pcStack_16c = pcVar39;\n  FStack_160.pConfig = (Fts5Config *)psVar21;\n  FStack_160.zErr = (char *)psVar31;\n  if (pFVar16->p == (u8 *)0x0) {\n    ap = &FStack_160;\n    pFStack_180 = ap;\n    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ap);\n    pcVar35 = pcStack_188;\n    pFVar8 = ap;\n    if (pcVar10 == (char *)0x0) {\n      pFVar16->p = (u8 *)0x7;\n    }\n  }\n  else {\n    pcVar10 = (char *)0x0;\n  }\n  if (iStack_17c == *piVar27) {\n    return (int)pcVar10;\n  }\n  pcVar38 = *(code **)(pcVar35 + -0x7b28);\n  iVar37 = iStack_17c;\n  (*pcVar38)();\n  ppsVar11 = &psStack_190;\n  puVar28 = *(undefined4 **)(pcVar38 + 0xd8208);\n  ppsVar18 = (sqlite3 **)*puVar28;\n  ppsVar19 = ppsVar18;\n  psStack_190 = psVar21;\n  psStack_18c = psVar31;\n  if (*(int *)(iVar37 + 8) == 0) {\n    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ppsVar11);\n    *(char **)(iVar37 + 4) = pcVar10;\n    *(undefined4 *)(iVar37 + 8) = 1;\n    ppsVar19 = ppsVar11;\n  }\n  ppsVar11 = (sqlite3 **)*puVar28;\n  if (ppsVar18 == ppsVar11) {\n    return (int)ppsVar11;\n  }\n  pcVar38 = *(code **)(pcVar38 + 0xd81dc);\n  (*pcVar38)();\n  iVar37 = (*(code *)(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0))(&pFVar8->rc,psVar21,psVar31);\n  if (pFVar8->rc == 0) {\n    pFVar23 = pFVar8->pConfig;\n    (*(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8))(iVar37);\n    iVar25 = pFVar23->nCol;\n    if (iVar25 < 1) {\n      iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      if (iVar25 != 0) {\n        iVar29 = 0;\nLAB_000b8dcc:\n        psVar31 = (sqlite3 *)0x0;\n        if (ppsVar19 != (sqlite3 **)0x0) {\n          psVar31 = *ppsVar19;\n        }\n        iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();\n        if ((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)) {\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }\n        piVar22 = piVar27 + 1;\n        if (0 < (int)psVar31) {\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }\nLAB_000b8e64:\n        *piVar22 = iVar29;\n        *piVar27 = (int)((int)&psVar31->pVfs + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);\n        return (int)piVar27;\n      }\n    }\n    else {\n      iVar29 = 0;\n      ppcVar24 = pFVar23->azCol;\n      pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8);\n      do {\n        pcVar10 = *ppcVar24;\n        ppcVar24 = ppcVar24 + 1;\n        iVar20 = iVar37;\n        if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }\n        iVar29 = iVar29 + 1;\n        iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      } while (iVar29 != iVar25);\n    }\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n    sqlite3Fts5ParseError(pFVar8,(char *)(iVar20 + -0x4c3c),iVar37);\n    (*pcVar38)(iVar37);\n  }\n  else {\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar38)(ppsVar19);\n  return 0;\n}" primitive_type (function_declarator "fts5DecodeDoclist(int *pRc,Fts5Buffer *pBuf,u8 *a,int n)" identifier (parameter_list "(int *pRc,Fts5Buffer *pBuf,u8 *a,int n)" ( (parameter_declaration "int *pRc" primitive_type (pointer_declarator "*pRc" * identifier)) , (parameter_declaration "Fts5Buffer *pBuf" type_identifier (pointer_declarator "*pBuf" * identifier)) , (parameter_declaration "u8 *a" type_identifier (pointer_declarator "*a" * identifier)) , (parameter_declaration "int n" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  sqlite3 *psVar3;\n  uint uVar4;\n  Vdbe *pVVar5;\n  undefined4 uVar6;\n  sqlite3 *psVar7;\n  Fts5Parse *pFVar8;\n  int iVar9;\n  char *pcVar10;\n  sqlite3 **ppsVar11;\n  uint uVar12;\n  sqlite3 *psVar13;\n  int *piVar14;\n  void *pvVar15;\n  Fts5Buffer *pFVar16;\n  u8 *puVar17;\n  Fts5Parse *ap;\n  sqlite3 **ppsVar18;\n  sqlite3 **ppsVar19;\n  int iVar20;\n  sqlite3 *psVar21;\n  int *piVar22;\n  Fts5Config *pFVar23;\n  char **ppcVar24;\n  int iVar25;\n  undefined *puVar26;\n  undefined *unaff_s0;\n  int *piVar27;\n  undefined4 *puVar28;\n  int iVar29;\n  u8 *unaff_s3;\n  u32 *puVar30;\n  sqlite3 *psVar31;\n  u32 unaff_s4;\n  sqlite3 *psVar32;\n  int *unaff_s5;\n  int *unaff_s6;\n  i64 *unaff_s7;\n  undefined *puVar33;\n  code *pcVar34;\n  code *pcVar35;\n  undefined *puVar36;\n  int iVar37;\n  code *pcVar38;\n  code *pcVar39;\n  undefined8 uVar40;\n  sqlite3 *psStack_190;\n  sqlite3 *psStack_18c;\n  code *pcStack_188;\n  Fts5Parse *pFStack_180;\n  int iStack_17c;\n  Fts5Buffer *pFStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  Fts5Parse FStack_160;\n  undefined *puStack_148;\n  code *pcStack_13c;\n  sqlite3 *psStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  sqlite3 *psStack_12c;\n  sqlite3 *psStack_128;\n  sqlite3 *psStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  int iStack_118;\n  sqlite3 *psStack_114;\n  Fts5Parse *pFStack_110;\n  sqlite3 *psStack_10c;\n  sqlite3 *psStack_108;\n  sqlite3 *psStack_104;\n  Fts5Buffer FStack_100;\n  sqlite3 *psStack_f4;\n  Vdbe *pVStack_f0;\n  sqlite3 *psStack_e8;\n  sqlite3 *psStack_e4;\n  CollSeq *pCStack_e0;\n  sqlite3_mutex *psStack_dc;\n  sqlite3 *psStack_d8;\n  int iStack_d4;\n  sqlite3 *psStack_d0;\n  uint uStack_cc;\n  int iStack_c4;\n  undefined *puStack_c0;\n  int *piStack_bc;\n  Fts5Buffer *pFStack_b8;\n  u8 *puStack_b4;\n  u32 uStack_b0;\n  int *piStack_ac;\n  int *piStack_a8;\n  i64 *piStack_a4;\n  undefined *puStack_a0;\n  code *pcStack_9c;\n  sqlite3 *psStack_88;\n  uint uStack_84;\n  int nPos;\n  int bDel;\n  i64 iDocid;\n  i64 iDelta;\n  void *pvStack_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar33 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  iDocid._4_4_ = 0;\n  iDocid._0_4_ = (sqlite3 *)0x0;\n  pvStack_2c = *(void **)PTR___stack_chk_guard_00190e24;\n  puVar36 = (undefined *)0x0;\n  psVar7 = (sqlite3 *)a;\n  psVar31 = (sqlite3 *)n;\n  puStack_b4 = unaff_s3;\n  uStack_b0 = unaff_s4;\n  if (0 < n) {\n    pcVar38 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    puVar36 = (undefined *)(*pcVar38)(a,&iDocid);\n    unaff_s0 = PTR_LAB_00190c2c;\n    psVar7 = (sqlite3 *)(puVar26 + -0x4cdc);\n    uStack_84 = iDocid._4_4_;\n    psStack_88 = iDocid._0_4_;\n    pcVar35 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    sqlite3Fts5BufferAppendPrintf(pRc,pBuf,(char *)psVar7);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    puStack_b4 = a;\n    uStack_b0 = n;\n    if ((int)puVar36 < n) {\n      unaff_s5 = &bDel;\n      unaff_s6 = &nPos;\n      unaff_s7 = &iDelta;\n      pcVar34 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      psVar21 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      psVar32 = (sqlite3 *)(PTR_LAB_00190958 + 0x30a8);\n      psVar3 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);\n        puVar36 = puVar36 + iVar37;\n        psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);\n        psStack_88 = psVar32;\n        if (bDel != 0) {\n          psStack_88 = psVar21;\n        }\n        psVar31 = (sqlite3 *)nPos;\n        (*pcVar35)(pRc,pBuf);\n        iVar37 = nPos;\n        if (n - (int)puVar36 <= nPos) {\n          iVar37 = n - (int)puVar36;\n        }\n        if (0 < iVar37) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }\n        if (n <= (int)puVar36) break;\n        iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);\n        puVar36 = puVar36 + iVar37;\n        uStack_84 = iDocid._4_4_ + iDelta._4_4_;\n        psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));\n        psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);\n        psStack_88 = psVar31;\n        iDocid._0_4_ = psVar31;\n        iDocid._4_4_ = uStack_84;\n        (*pcVar35)(pRc,pBuf);\n      } while ((int)puVar36 < n);\n    }\n  }\n  if (pvStack_2c == *(void **)puVar2) {\n    return (int)puVar36;\n  }\n  pcVar38 = fts5DecodeFunction;\n  pvVar15 = pvStack_2c;\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_148 = puVar33 + 0xe0838;\n  piStack_130 = *(int **)(puVar33 + 0xd8d3c);\n  pFStack_110 = (Fts5Parse *)0x0;\n  iStack_c4 = *piStack_130;\n  iVar37 = *(int *)(*(int *)((int)pvVar15 + 4) + 8);\n  FStack_100.p = (u8 *)0x0;\n  FStack_100.n = 0;\n  FStack_100.nSpace = 0;\n  psVar21 = psVar7;\n  puStack_c0 = unaff_s0;\n  piStack_bc = pRc;\n  pFStack_b8 = pBuf;\n  piStack_ac = unaff_s5;\n  piStack_a8 = unaff_s6;\n  piStack_a4 = unaff_s7;\n  puStack_a0 = puVar36;\n  pcStack_9c = pcVar38;\n  uVar40 = (*(code *)(*(int *)(puVar33 + 0xd8ac0) + 0x7f68))((sqlite3 *)psVar7->pVfs);\n  uVar4 = (uint)((ulonglong)uVar40 >> 0x20);\n  uVar12 = (uint)uVar40;\n  pVVar5 = (Vdbe *)(*(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88))(psVar7->pVdbe,1);\n  uVar6 = (**(code **)(puStack_148 + -0x7f64))(psVar7->pVdbe);\n  if (pFStack_110 == (Fts5Parse *)0x0) {\n    psVar31 = (sqlite3 *)&pVVar5->pNext;\n    psVar21 = (sqlite3 *)((int)psVar31 >> 0x1f);\n    psVar7 = (sqlite3 *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))(&pFStack_110);\n    if (psVar7 == (sqlite3 *)0x0) goto LAB_000b82dc;\n    if (0 < (int)pVVar5) {\n      (**(code **)(puStack_148 + -0x7af4))(psVar7,uVar6,pVVar5);\n    }\n    psVar21 = (sqlite3 *)((uVar4 << 0xb) >> 0x10);\n    psStack_138 = (sqlite3 *)(uVar12 & 0x7fffffff);\n    iVar25 = uVar4 << 0x1b;\n    if (psVar21 != (sqlite3 *)0x0) {\n      FStack_160.nPhrase = (uVar4 & 0xf) << 1 | uVar12 >> 0x1f;\n      FStack_160.rc = (int)psVar21;\n      FStack_160.apPhrase = (Fts5ExprPhrase **)psStack_138;\n      if (iVar25 < 0) {\n        pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);\n        psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n        sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n        goto LAB_000b8528;\n      }\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar37 == 0) {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_104 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        if (3 < (int)pVVar5) {\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }\n        psVar21 = (sqlite3 *)&DAT_00000007;\n        FStack_100.n = 0;\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);\n        sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_108 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_12c = psVar32;\n        psVar31 = psVar32;\n        if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }\n        psStack_10c = psVar31;\n        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;\n        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);\n        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);\n        psVar21 = psStack_10c;\n        if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        pcVar38 = (code *)(iVar37 + 0x7c);\n        (*pcVar38)(psStack_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) &&\n       (pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1)) {\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) {\nLAB_000b8528:\n        iVar37 = *(int *)(puStack_148 + -0x7d7c);\n        psStack_e8 = (sqlite3 *)&psStack_f4;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_dc = (sqlite3_mutex *)0x0;\n        iStack_d4 = 0;\n        psStack_d0 = (sqlite3 *)0x0;\n        uStack_cc = 0;\n        psStack_d8 = psStack_138;\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_f4 = psVar7;\n        pVStack_f0 = pVVar5;\n        (*(code *)(iVar37 + 0x687c))();\n        pFVar8 = pFStack_110;\n        if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7fc4);\n        do {\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        } while (pCStack_e0 == (CollSeq *)0x0);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pFVar8 = pFStack_110;\n        if ((int)pVVar5 < 1) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7de0);\n        iVar20 = *(int *)(puStack_148 + -0x7fc8);\n        iVar29 = *(int *)(puStack_148 + -0x7fc4);\n        iVar37 = 0;\n        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) goto LAB_000b8528;\n      psVar31 = (sqlite3 *)&psStack_e8;\n      psVar21 = (sqlite3 *)0x0;\n      psStack_e8 = (sqlite3 *)0x0;\n      pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5);\n      if (pFVar8 == (Fts5Parse *)0x0) {\n        psStack_138 = psStack_e8;\n        if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }\n        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);\n        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;\n        psStack_138 = psStack_e8;\n        pFVar8 = pFStack_110;\n        if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      pFStack_110 = pFVar8;\n      pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 == (Fts5Parse *)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pFVar8 = pFStack_110;\n    (**(code **)(puStack_148 + -0x7f4c))(pvVar15);\n  }\n  else {\nLAB_000b82dc:\n    psVar7 = (sqlite3 *)0x0;\n    pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 != (Fts5Parse *)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pFVar8 = (Fts5Parse *)((int)pvVar15 + 0x14);\n    FStack_160.nPhrase = 0xffffffff;\n    FStack_160.rc = 1;\n    psVar21 = (sqlite3 *)FStack_100.p;\n    psVar31 = (sqlite3 *)FStack_100.n;\n    (*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0))(pvVar15);\n  }\n  pFVar16 = &FStack_100;\n  (*pcVar38)();\n  if (iStack_c4 == *piStack_130) {\n    return *piStack_130;\n  }\n  pcVar34 = *(code **)(puStack_148 + -0x7b28);\n  pcVar39 = sqlite3Fts5Mprintf;\n  (*pcVar34)();\n  pcVar35 = pcVar34 + 0xdfda4;\n  piVar27 = *(int **)(pcVar34 + 0xd82a8);\n  iStack_17c = *piVar27;\n  pcStack_188 = pcVar35;\n  pFStack_174 = &FStack_100;\n  pcStack_170 = pcVar38;\n  pcStack_16c = pcVar39;\n  FStack_160.pConfig = (Fts5Config *)psVar21;\n  FStack_160.zErr = (char *)psVar31;\n  if (pFVar16->p == (u8 *)0x0) {\n    ap = &FStack_160;\n    pFStack_180 = ap;\n    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ap);\n    pcVar35 = pcStack_188;\n    pFVar8 = ap;\n    if (pcVar10 == (char *)0x0) {\n      pFVar16->p = (u8 *)0x7;\n    }\n  }\n  else {\n    pcVar10 = (char *)0x0;\n  }\n  if (iStack_17c == *piVar27) {\n    return (int)pcVar10;\n  }\n  pcVar38 = *(code **)(pcVar35 + -0x7b28);\n  iVar37 = iStack_17c;\n  (*pcVar38)();\n  ppsVar11 = &psStack_190;\n  puVar28 = *(undefined4 **)(pcVar38 + 0xd8208);\n  ppsVar18 = (sqlite3 **)*puVar28;\n  ppsVar19 = ppsVar18;\n  psStack_190 = psVar21;\n  psStack_18c = psVar31;\n  if (*(int *)(iVar37 + 8) == 0) {\n    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ppsVar11);\n    *(char **)(iVar37 + 4) = pcVar10;\n    *(undefined4 *)(iVar37 + 8) = 1;\n    ppsVar19 = ppsVar11;\n  }\n  ppsVar11 = (sqlite3 **)*puVar28;\n  if (ppsVar18 == ppsVar11) {\n    return (int)ppsVar11;\n  }\n  pcVar38 = *(code **)(pcVar38 + 0xd81dc);\n  (*pcVar38)();\n  iVar37 = (*(code *)(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0))(&pFVar8->rc,psVar21,psVar31);\n  if (pFVar8->rc == 0) {\n    pFVar23 = pFVar8->pConfig;\n    (*(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8))(iVar37);\n    iVar25 = pFVar23->nCol;\n    if (iVar25 < 1) {\n      iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      if (iVar25 != 0) {\n        iVar29 = 0;\nLAB_000b8dcc:\n        psVar31 = (sqlite3 *)0x0;\n        if (ppsVar19 != (sqlite3 **)0x0) {\n          psVar31 = *ppsVar19;\n        }\n        iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();\n        if ((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)) {\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }\n        piVar22 = piVar27 + 1;\n        if (0 < (int)psVar31) {\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }\nLAB_000b8e64:\n        *piVar22 = iVar29;\n        *piVar27 = (int)((int)&psVar31->pVfs + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);\n        return (int)piVar27;\n      }\n    }\n    else {\n      iVar29 = 0;\n      ppcVar24 = pFVar23->azCol;\n      pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8);\n      do {\n        pcVar10 = *ppcVar24;\n        ppcVar24 = ppcVar24 + 1;\n        iVar20 = iVar37;\n        if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }\n        iVar29 = iVar29 + 1;\n        iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      } while (iVar29 != iVar25);\n    }\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n    sqlite3Fts5ParseError(pFVar8,(char *)(iVar20 + -0x4c3c),iVar37);\n    (*pcVar38)(iVar37);\n  }\n  else {\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar38)(ppsVar19);\n  return 0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "sqlite3 *psVar3;" type_identifier (pointer_declarator "*psVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "Vdbe *pVVar5;" type_identifier (pointer_declarator "*pVVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "sqlite3 *psVar7;" type_identifier (pointer_declarator "*psVar7" * identifier) ;) (declaration "Fts5Parse *pFVar8;" type_identifier (pointer_declarator "*pFVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "sqlite3 **ppsVar11;" type_identifier (pointer_declarator "**ppsVar11" * (pointer_declarator "*ppsVar11" * identifier)) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "sqlite3 *psVar13;" type_identifier (pointer_declarator "*psVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "void *pvVar15;" primitive_type (pointer_declarator "*pvVar15" * identifier) ;) (declaration "Fts5Buffer *pFVar16;" type_identifier (pointer_declarator "*pFVar16" * identifier) ;) (declaration "u8 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "Fts5Parse *ap;" type_identifier (pointer_declarator "*ap" * identifier) ;) (declaration "sqlite3 **ppsVar18;" type_identifier (pointer_declarator "**ppsVar18" * (pointer_declarator "*ppsVar18" * identifier)) ;) (declaration "sqlite3 **ppsVar19;" type_identifier (pointer_declarator "**ppsVar19" * (pointer_declarator "*ppsVar19" * identifier)) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "sqlite3 *psVar21;" type_identifier (pointer_declarator "*psVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "Fts5Config *pFVar23;" type_identifier (pointer_declarator "*pFVar23" * identifier) ;) (declaration "char **ppcVar24;" primitive_type (pointer_declarator "**ppcVar24" * (pointer_declarator "*ppcVar24" * identifier)) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "undefined *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "undefined4 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "u8 *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "u32 *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "sqlite3 *psVar31;" type_identifier (pointer_declarator "*psVar31" * identifier) ;) (declaration "u32 unaff_s4;" type_identifier identifier ;) (declaration "sqlite3 *psVar32;" type_identifier (pointer_declarator "*psVar32" * identifier) ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "i64 *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "code *pcVar34;" type_identifier (pointer_declarator "*pcVar34" * identifier) ;) (declaration "code *pcVar35;" type_identifier (pointer_declarator "*pcVar35" * identifier) ;) (declaration "undefined *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "code *pcVar39;" type_identifier (pointer_declarator "*pcVar39" * identifier) ;) (declaration "undefined8 uVar40;" type_identifier identifier ;) (declaration "sqlite3 *psStack_190;" type_identifier (pointer_declarator "*psStack_190" * identifier) ;) (declaration "sqlite3 *psStack_18c;" type_identifier (pointer_declarator "*psStack_18c" * identifier) ;) (declaration "code *pcStack_188;" type_identifier (pointer_declarator "*pcStack_188" * identifier) ;) (declaration "Fts5Parse *pFStack_180;" type_identifier (pointer_declarator "*pFStack_180" * identifier) ;) (declaration "int iStack_17c;" primitive_type identifier ;) (declaration "Fts5Buffer *pFStack_174;" type_identifier (pointer_declarator "*pFStack_174" * identifier) ;) (declaration "code *pcStack_170;" type_identifier (pointer_declarator "*pcStack_170" * identifier) ;) (declaration "code *pcStack_16c;" type_identifier (pointer_declarator "*pcStack_16c" * identifier) ;) (declaration "Fts5Parse FStack_160;" type_identifier identifier ;) (declaration "undefined *puStack_148;" type_identifier (pointer_declarator "*puStack_148" * identifier) ;) (declaration "code *pcStack_13c;" type_identifier (pointer_declarator "*pcStack_13c" * identifier) ;) (declaration "sqlite3 *psStack_138;" type_identifier (pointer_declarator "*psStack_138" * identifier) ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "int *piStack_130;" primitive_type (pointer_declarator "*piStack_130" * identifier) ;) (declaration "sqlite3 *psStack_12c;" type_identifier (pointer_declarator "*psStack_12c" * identifier) ;) (declaration "sqlite3 *psStack_128;" type_identifier (pointer_declarator "*psStack_128" * identifier) ;) (declaration "sqlite3 *psStack_124;" type_identifier (pointer_declarator "*psStack_124" * identifier) ;) (declaration "code *pcStack_120;" type_identifier (pointer_declarator "*pcStack_120" * identifier) ;) (declaration "code *pcStack_11c;" type_identifier (pointer_declarator "*pcStack_11c" * identifier) ;) (declaration "int iStack_118;" primitive_type identifier ;) (declaration "sqlite3 *psStack_114;" type_identifier (pointer_declarator "*psStack_114" * identifier) ;) (declaration "Fts5Parse *pFStack_110;" type_identifier (pointer_declarator "*pFStack_110" * identifier) ;) (declaration "sqlite3 *psStack_10c;" type_identifier (pointer_declarator "*psStack_10c" * identifier) ;) (declaration "sqlite3 *psStack_108;" type_identifier (pointer_declarator "*psStack_108" * identifier) ;) (declaration "sqlite3 *psStack_104;" type_identifier (pointer_declarator "*psStack_104" * identifier) ;) (declaration "Fts5Buffer FStack_100;" type_identifier identifier ;) (declaration "sqlite3 *psStack_f4;" type_identifier (pointer_declarator "*psStack_f4" * identifier) ;) (declaration "Vdbe *pVStack_f0;" type_identifier (pointer_declarator "*pVStack_f0" * identifier) ;) (declaration "sqlite3 *psStack_e8;" type_identifier (pointer_declarator "*psStack_e8" * identifier) ;) (declaration "sqlite3 *psStack_e4;" type_identifier (pointer_declarator "*psStack_e4" * identifier) ;) (declaration "CollSeq *pCStack_e0;" type_identifier (pointer_declarator "*pCStack_e0" * identifier) ;) (declaration "sqlite3_mutex *psStack_dc;" type_identifier (pointer_declarator "*psStack_dc" * identifier) ;) (declaration "sqlite3 *psStack_d8;" type_identifier (pointer_declarator "*psStack_d8" * identifier) ;) (declaration "int iStack_d4;" primitive_type identifier ;) (declaration "sqlite3 *psStack_d0;" type_identifier (pointer_declarator "*psStack_d0" * identifier) ;) (declaration "uint uStack_cc;" type_identifier identifier ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "undefined *puStack_c0;" type_identifier (pointer_declarator "*puStack_c0" * identifier) ;) (declaration "int *piStack_bc;" primitive_type (pointer_declarator "*piStack_bc" * identifier) ;) (declaration "Fts5Buffer *pFStack_b8;" type_identifier (pointer_declarator "*pFStack_b8" * identifier) ;) (declaration "u8 *puStack_b4;" type_identifier (pointer_declarator "*puStack_b4" * identifier) ;) (declaration "u32 uStack_b0;" type_identifier identifier ;) (declaration "int *piStack_ac;" primitive_type (pointer_declarator "*piStack_ac" * identifier) ;) (declaration "int *piStack_a8;" primitive_type (pointer_declarator "*piStack_a8" * identifier) ;) (declaration "i64 *piStack_a4;" type_identifier (pointer_declarator "*piStack_a4" * identifier) ;) (declaration "undefined *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "code *pcStack_9c;" type_identifier (pointer_declarator "*pcStack_9c" * identifier) ;) (declaration "sqlite3 *psStack_88;" type_identifier (pointer_declarator "*psStack_88" * identifier) ;) (declaration "uint uStack_84;" type_identifier identifier ;) (declaration "int nPos;" primitive_type identifier ;) (declaration "int bDel;" primitive_type identifier ;) (declaration "i64 iDocid;" type_identifier identifier ;) (declaration "i64 iDelta;" type_identifier identifier ;) (declaration "void *pvStack_2c;" primitive_type (pointer_declarator "*pvStack_2c" * identifier) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar33 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar33 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "iDocid._4_4_ = 0;" (assignment_expression "iDocid._4_4_ = 0" (field_expression "iDocid._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "iDocid._0_4_ = (sqlite3 *)0x0;" (assignment_expression "iDocid._0_4_ = (sqlite3 *)0x0" (field_expression "iDocid._0_4_" identifier . field_identifier) = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pvStack_2c = *(void **)PTR___stack_chk_guard_00190e24;" (assignment_expression "pvStack_2c = *(void **)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(void **)PTR___stack_chk_guard_00190e24" * (cast_expression "(void **)PTR___stack_chk_guard_00190e24" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar36 = (undefined *)0x0;" (assignment_expression "puVar36 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar7 = (sqlite3 *)a;" (assignment_expression "psVar7 = (sqlite3 *)a" identifier = (cast_expression "(sqlite3 *)a" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar31 = (sqlite3 *)n;" (assignment_expression "psVar31 = (sqlite3 *)n" identifier = (cast_expression "(sqlite3 *)n" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puStack_b4 = unaff_s3;" (assignment_expression "puStack_b4 = unaff_s3" identifier = identifier) ;) (expression_statement "uStack_b0 = unaff_s4;" (assignment_expression "uStack_b0 = unaff_s4" identifier = identifier) ;) (if_statement "if (0 < n) {\n    pcVar38 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    puVar36 = (undefined *)(*pcVar38)(a,&iDocid);\n    unaff_s0 = PTR_LAB_00190c2c;\n    psVar7 = (sqlite3 *)(puVar26 + -0x4cdc);\n    uStack_84 = iDocid._4_4_;\n    psStack_88 = iDocid._0_4_;\n    pcVar35 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    sqlite3Fts5BufferAppendPrintf(pRc,pBuf,(char *)psVar7);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    puStack_b4 = a;\n    uStack_b0 = n;\n    if ((int)puVar36 < n) {\n      unaff_s5 = &bDel;\n      unaff_s6 = &nPos;\n      unaff_s7 = &iDelta;\n      pcVar34 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      psVar21 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      psVar32 = (sqlite3 *)(PTR_LAB_00190958 + 0x30a8);\n      psVar3 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);\n        puVar36 = puVar36 + iVar37;\n        psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);\n        psStack_88 = psVar32;\n        if (bDel != 0) {\n          psStack_88 = psVar21;\n        }\n        psVar31 = (sqlite3 *)nPos;\n        (*pcVar35)(pRc,pBuf);\n        iVar37 = nPos;\n        if (n - (int)puVar36 <= nPos) {\n          iVar37 = n - (int)puVar36;\n        }\n        if (0 < iVar37) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }\n        if (n <= (int)puVar36) break;\n        iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);\n        puVar36 = puVar36 + iVar37;\n        uStack_84 = iDocid._4_4_ + iDelta._4_4_;\n        psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));\n        psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);\n        psStack_88 = psVar31;\n        iDocid._0_4_ = psVar31;\n        iDocid._4_4_ = uStack_84;\n        (*pcVar35)(pRc,pBuf);\n      } while ((int)puVar36 < n);\n    }\n  }" if (parenthesized_expression "(0 < n)" ( (binary_expression "0 < n" number_literal < identifier) )) (compound_statement "{\n    pcVar38 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    puVar36 = (undefined *)(*pcVar38)(a,&iDocid);\n    unaff_s0 = PTR_LAB_00190c2c;\n    psVar7 = (sqlite3 *)(puVar26 + -0x4cdc);\n    uStack_84 = iDocid._4_4_;\n    psStack_88 = iDocid._0_4_;\n    pcVar35 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    sqlite3Fts5BufferAppendPrintf(pRc,pBuf,(char *)psVar7);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    puStack_b4 = a;\n    uStack_b0 = n;\n    if ((int)puVar36 < n) {\n      unaff_s5 = &bDel;\n      unaff_s6 = &nPos;\n      unaff_s7 = &iDelta;\n      pcVar34 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      psVar21 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      psVar32 = (sqlite3 *)(PTR_LAB_00190958 + 0x30a8);\n      psVar3 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);\n        puVar36 = puVar36 + iVar37;\n        psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);\n        psStack_88 = psVar32;\n        if (bDel != 0) {\n          psStack_88 = psVar21;\n        }\n        psVar31 = (sqlite3 *)nPos;\n        (*pcVar35)(pRc,pBuf);\n        iVar37 = nPos;\n        if (n - (int)puVar36 <= nPos) {\n          iVar37 = n - (int)puVar36;\n        }\n        if (0 < iVar37) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }\n        if (n <= (int)puVar36) break;\n        iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);\n        puVar36 = puVar36 + iVar37;\n        uStack_84 = iDocid._4_4_ + iDelta._4_4_;\n        psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));\n        psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);\n        psStack_88 = psVar31;\n        iDocid._0_4_ = psVar31;\n        iDocid._4_4_ = uStack_84;\n        (*pcVar35)(pRc,pBuf);\n      } while ((int)puVar36 < n);\n    }\n  }" { (expression_statement "pcVar38 = (code *)(PTR_LAB_00190b40 + -0x80);" (assignment_expression "pcVar38 = (code *)(PTR_LAB_00190b40 + -0x80)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + -0x80)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + -0x80)" ( (binary_expression "PTR_LAB_00190b40 + -0x80" identifier + number_literal) )))) ;) (expression_statement "puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "puVar36 = (undefined *)(*pcVar38)(a,&iDocid);" (assignment_expression "puVar36 = (undefined *)(*pcVar38)(a,&iDocid)" identifier = (cast_expression "(undefined *)(*pcVar38)(a,&iDocid)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar38)(a,&iDocid)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(a,&iDocid)" ( identifier , (pointer_expression "&iDocid" & identifier) ))))) ;) (expression_statement "unaff_s0 = PTR_LAB_00190c2c;" (assignment_expression "unaff_s0 = PTR_LAB_00190c2c" identifier = identifier) ;) (expression_statement "psVar7 = (sqlite3 *)(puVar26 + -0x4cdc);" (assignment_expression "psVar7 = (sqlite3 *)(puVar26 + -0x4cdc)" identifier = (cast_expression "(sqlite3 *)(puVar26 + -0x4cdc)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x4cdc)" ( (binary_expression "puVar26 + -0x4cdc" identifier + number_literal) )))) ;) (expression_statement "uStack_84 = iDocid._4_4_;" (assignment_expression "uStack_84 = iDocid._4_4_" identifier = (field_expression "iDocid._4_4_" identifier . field_identifier)) ;) (expression_statement "psStack_88 = iDocid._0_4_;" (assignment_expression "psStack_88 = iDocid._0_4_" identifier = (field_expression "iDocid._0_4_" identifier . field_identifier)) ;) (expression_statement "pcVar35 = (code *)(PTR_LAB_00190c2c + 0x7b38);" (assignment_expression "pcVar35 = (code *)(PTR_LAB_00190c2c + 0x7b38)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + 0x7b38)" ( (binary_expression "PTR_LAB_00190c2c + 0x7b38" identifier + number_literal) )))) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf(pRc,pBuf,(char *)psVar7);" (call_expression "sqlite3Fts5BufferAppendPrintf(pRc,pBuf,(char *)psVar7)" identifier (argument_list "(pRc,pBuf,(char *)psVar7)" ( identifier , identifier , (cast_expression "(char *)psVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "puVar1 = PTR_LAB_00190ba4;" (assignment_expression "puVar1 = PTR_LAB_00190ba4" identifier = identifier) ;) (expression_statement "puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar26 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "puStack_b4 = a;" (assignment_expression "puStack_b4 = a" identifier = identifier) ;) (expression_statement "uStack_b0 = n;" (assignment_expression "uStack_b0 = n" identifier = identifier) ;) (if_statement "if ((int)puVar36 < n) {\n      unaff_s5 = &bDel;\n      unaff_s6 = &nPos;\n      unaff_s7 = &iDelta;\n      pcVar34 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      psVar21 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      psVar32 = (sqlite3 *)(PTR_LAB_00190958 + 0x30a8);\n      psVar3 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);\n        puVar36 = puVar36 + iVar37;\n        psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);\n        psStack_88 = psVar32;\n        if (bDel != 0) {\n          psStack_88 = psVar21;\n        }\n        psVar31 = (sqlite3 *)nPos;\n        (*pcVar35)(pRc,pBuf);\n        iVar37 = nPos;\n        if (n - (int)puVar36 <= nPos) {\n          iVar37 = n - (int)puVar36;\n        }\n        if (0 < iVar37) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }\n        if (n <= (int)puVar36) break;\n        iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);\n        puVar36 = puVar36 + iVar37;\n        uStack_84 = iDocid._4_4_ + iDelta._4_4_;\n        psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));\n        psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);\n        psStack_88 = psVar31;\n        iDocid._0_4_ = psVar31;\n        iDocid._4_4_ = uStack_84;\n        (*pcVar35)(pRc,pBuf);\n      } while ((int)puVar36 < n);\n    }" if (parenthesized_expression "((int)puVar36 < n)" ( (binary_expression "(int)puVar36 < n" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n      unaff_s5 = &bDel;\n      unaff_s6 = &nPos;\n      unaff_s7 = &iDelta;\n      pcVar34 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      psVar21 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      psVar32 = (sqlite3 *)(PTR_LAB_00190958 + 0x30a8);\n      psVar3 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);\n        puVar36 = puVar36 + iVar37;\n        psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);\n        psStack_88 = psVar32;\n        if (bDel != 0) {\n          psStack_88 = psVar21;\n        }\n        psVar31 = (sqlite3 *)nPos;\n        (*pcVar35)(pRc,pBuf);\n        iVar37 = nPos;\n        if (n - (int)puVar36 <= nPos) {\n          iVar37 = n - (int)puVar36;\n        }\n        if (0 < iVar37) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }\n        if (n <= (int)puVar36) break;\n        iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);\n        puVar36 = puVar36 + iVar37;\n        uStack_84 = iDocid._4_4_ + iDelta._4_4_;\n        psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));\n        psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);\n        psStack_88 = psVar31;\n        iDocid._0_4_ = psVar31;\n        iDocid._4_4_ = uStack_84;\n        (*pcVar35)(pRc,pBuf);\n      } while ((int)puVar36 < n);\n    }" { (expression_statement "unaff_s5 = &bDel;" (assignment_expression "unaff_s5 = &bDel" identifier = (pointer_expression "&bDel" & identifier)) ;) (expression_statement "unaff_s6 = &nPos;" (assignment_expression "unaff_s6 = &nPos" identifier = (pointer_expression "&nPos" & identifier)) ;) (expression_statement "unaff_s7 = &iDelta;" (assignment_expression "unaff_s7 = &iDelta" identifier = (pointer_expression "&iDelta" & identifier)) ;) (expression_statement "pcVar34 = (code *)(PTR_LAB_00190ba4 + 0x61f0);" (assignment_expression "pcVar34 = (code *)(PTR_LAB_00190ba4 + 0x61f0)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x61f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + 0x61f0)" ( (binary_expression "PTR_LAB_00190ba4 + 0x61f0" identifier + number_literal) )))) ;) (expression_statement "psVar21 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);" (assignment_expression "psVar21 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" identifier = (cast_expression "(sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390" identifier + number_literal) )))) ;) (expression_statement "psVar32 = (sqlite3 *)(PTR_LAB_00190958 + 0x30a8);" (assignment_expression "psVar32 = (sqlite3 *)(PTR_LAB_00190958 + 0x30a8)" identifier = (cast_expression "(sqlite3 *)(PTR_LAB_00190958 + 0x30a8)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190958 + 0x30a8)" ( (binary_expression "PTR_LAB_00190958 + 0x30a8" identifier + number_literal) )))) ;) (expression_statement "psVar3 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);" (assignment_expression "psVar3 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" identifier = (cast_expression "(sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c" identifier + number_literal) )))) ;) (do_statement "do {\n        iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);\n        puVar36 = puVar36 + iVar37;\n        psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);\n        psStack_88 = psVar32;\n        if (bDel != 0) {\n          psStack_88 = psVar21;\n        }\n        psVar31 = (sqlite3 *)nPos;\n        (*pcVar35)(pRc,pBuf);\n        iVar37 = nPos;\n        if (n - (int)puVar36 <= nPos) {\n          iVar37 = n - (int)puVar36;\n        }\n        if (0 < iVar37) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }\n        if (n <= (int)puVar36) break;\n        iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);\n        puVar36 = puVar36 + iVar37;\n        uStack_84 = iDocid._4_4_ + iDelta._4_4_;\n        psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));\n        psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);\n        psStack_88 = psVar31;\n        iDocid._0_4_ = psVar31;\n        iDocid._4_4_ = uStack_84;\n        (*pcVar35)(pRc,pBuf);\n      } while ((int)puVar36 < n);" do (compound_statement "{\n        iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);\n        puVar36 = puVar36 + iVar37;\n        psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);\n        psStack_88 = psVar32;\n        if (bDel != 0) {\n          psStack_88 = psVar21;\n        }\n        psVar31 = (sqlite3 *)nPos;\n        (*pcVar35)(pRc,pBuf);\n        iVar37 = nPos;\n        if (n - (int)puVar36 <= nPos) {\n          iVar37 = n - (int)puVar36;\n        }\n        if (0 < iVar37) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }\n        if (n <= (int)puVar36) break;\n        iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);\n        puVar36 = puVar36 + iVar37;\n        uStack_84 = iDocid._4_4_ + iDelta._4_4_;\n        psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));\n        psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);\n        psStack_88 = psVar31;\n        iDocid._0_4_ = psVar31;\n        iDocid._4_4_ = uStack_84;\n        (*pcVar35)(pRc,pBuf);\n      }" { (expression_statement "iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5);" (assignment_expression "iVar37 = (*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5)" identifier = (call_expression "(*pcVar34)(a + (int)puVar36,unaff_s6,unaff_s5)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(a + (int)puVar36,unaff_s6,unaff_s5)" ( (binary_expression "a + (int)puVar36" identifier + (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier )))) ;) (expression_statement "puVar36 = puVar36 + iVar37;" (assignment_expression "puVar36 = puVar36 + iVar37" identifier = (binary_expression "puVar36 + iVar37" identifier + identifier)) ;) (expression_statement "psVar7 = (sqlite3 *)(puVar26 + -0x4cd0);" (assignment_expression "psVar7 = (sqlite3 *)(puVar26 + -0x4cd0)" identifier = (cast_expression "(sqlite3 *)(puVar26 + -0x4cd0)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x4cd0)" ( (binary_expression "puVar26 + -0x4cd0" identifier + number_literal) )))) ;) (expression_statement "psStack_88 = psVar32;" (assignment_expression "psStack_88 = psVar32" identifier = identifier) ;) (if_statement "if (bDel != 0) {\n          psStack_88 = psVar21;\n        }" if (parenthesized_expression "(bDel != 0)" ( (binary_expression "bDel != 0" identifier != number_literal) )) (compound_statement "{\n          psStack_88 = psVar21;\n        }" { (expression_statement "psStack_88 = psVar21;" (assignment_expression "psStack_88 = psVar21" identifier = identifier) ;) })) (expression_statement "psVar31 = (sqlite3 *)nPos;" (assignment_expression "psVar31 = (sqlite3 *)nPos" identifier = (cast_expression "(sqlite3 *)nPos" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*pcVar35)(pRc,pBuf);" (call_expression "(*pcVar35)(pRc,pBuf)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pRc,pBuf)" ( identifier , identifier ))) ;) (expression_statement "iVar37 = nPos;" (assignment_expression "iVar37 = nPos" identifier = identifier) ;) (if_statement "if (n - (int)puVar36 <= nPos) {\n          iVar37 = n - (int)puVar36;\n        }" if (parenthesized_expression "(n - (int)puVar36 <= nPos)" ( (binary_expression "n - (int)puVar36 <= nPos" (binary_expression "n - (int)puVar36" identifier - (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier)) <= identifier) )) (compound_statement "{\n          iVar37 = n - (int)puVar36;\n        }" { (expression_statement "iVar37 = n - (int)puVar36;" (assignment_expression "iVar37 = n - (int)puVar36" identifier = (binary_expression "n - (int)puVar36" identifier - (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (if_statement "if (0 < iVar37) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }" if (parenthesized_expression "(0 < iVar37)" ( (binary_expression "0 < iVar37" number_literal < identifier) )) (compound_statement "{\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);\n          puVar36 = puVar36 + (int)unaff_s0;\n        }" { (expression_statement "unaff_s0 = (undefined *)0x0;" (assignment_expression "unaff_s0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          } while ((int)unaff_s0 < iVar37);" do (compound_statement "{\n            iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);\n            unaff_s0 = unaff_s0 + iVar25;\n            psVar7 = psVar3;\n            psVar31 = iDelta._0_4_;\n            (*pcVar35)(pRc,pBuf);\n          }" { (expression_statement "iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7);" (assignment_expression "iVar25 = (*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7)" identifier = (call_expression "(*(code *)(puVar1 + 0x610c))(a + (int)(unaff_s0 + (int)puVar36),unaff_s7)" (parenthesized_expression "(*(code *)(puVar1 + 0x610c))" ( (pointer_expression "*(code *)(puVar1 + 0x610c)" * (cast_expression "(code *)(puVar1 + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x610c)" ( (binary_expression "puVar1 + 0x610c" identifier + number_literal) )))) )) (argument_list "(a + (int)(unaff_s0 + (int)puVar36),unaff_s7)" ( (binary_expression "a + (int)(unaff_s0 + (int)puVar36)" identifier + (cast_expression "(int)(unaff_s0 + (int)puVar36)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s0 + (int)puVar36)" ( (binary_expression "unaff_s0 + (int)puVar36" identifier + (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) , identifier )))) ;) (expression_statement "unaff_s0 = unaff_s0 + iVar25;" (assignment_expression "unaff_s0 = unaff_s0 + iVar25" identifier = (binary_expression "unaff_s0 + iVar25" identifier + identifier)) ;) (expression_statement "psVar7 = psVar3;" (assignment_expression "psVar7 = psVar3" identifier = identifier) ;) (expression_statement "psVar31 = iDelta._0_4_;" (assignment_expression "psVar31 = iDelta._0_4_" identifier = (field_expression "iDelta._0_4_" identifier . field_identifier)) ;) (expression_statement "(*pcVar35)(pRc,pBuf);" (call_expression "(*pcVar35)(pRc,pBuf)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pRc,pBuf)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "((int)unaff_s0 < iVar37)" ( (binary_expression "(int)unaff_s0 < iVar37" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) (expression_statement "puVar36 = puVar36 + (int)unaff_s0;" (assignment_expression "puVar36 = puVar36 + (int)unaff_s0" identifier = (binary_expression "puVar36 + (int)unaff_s0" identifier + (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (if_statement "if (n <= (int)puVar36) break;" if (parenthesized_expression "(n <= (int)puVar36)" ( (binary_expression "n <= (int)puVar36" identifier <= (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7);" (assignment_expression "iVar37 = (*pcVar38)(a + (int)puVar36,unaff_s7)" identifier = (call_expression "(*pcVar38)(a + (int)puVar36,unaff_s7)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(a + (int)puVar36,unaff_s7)" ( (binary_expression "a + (int)puVar36" identifier + (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier )))) ;) (expression_statement "puVar36 = puVar36 + iVar37;" (assignment_expression "puVar36 = puVar36 + iVar37" identifier = (binary_expression "puVar36 + iVar37" identifier + identifier)) ;) (expression_statement "uStack_84 = iDocid._4_4_ + iDelta._4_4_;" (assignment_expression "uStack_84 = iDocid._4_4_ + iDelta._4_4_" identifier = (binary_expression "iDocid._4_4_ + iDelta._4_4_" (field_expression "iDocid._4_4_" identifier . field_identifier) + (field_expression "iDelta._4_4_" identifier . field_identifier))) ;) (expression_statement "psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));" (assignment_expression "psVar31 = (sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs))" identifier = (cast_expression "(sqlite3 *)\n                  ((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs))" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs))" ( (binary_expression "(int)&(iDelta._0_4_)->pVfs +\n                  (int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs)" (cast_expression "(int)&(iDelta._0_4_)->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(iDelta._0_4_)->pVfs" & (field_expression "(iDelta._0_4_)->pVfs" (parenthesized_expression "(iDelta._0_4_)" ( (field_expression "iDelta._0_4_" identifier . field_identifier) )) -> field_identifier))) + (cast_expression "(int)((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs)" ( (binary_expression "(uint)(uStack_84 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs" (call_expression "(uint)(uStack_84 < iDocid._4_4_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_84 < iDocid._4_4_)" ( (binary_expression "uStack_84 < iDocid._4_4_" identifier < (field_expression "iDocid._4_4_" identifier . field_identifier)) ))) + (cast_expression "(int)&(iDocid._0_4_)->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(iDocid._0_4_)->pVfs" & (field_expression "(iDocid._0_4_)->pVfs" (parenthesized_expression "(iDocid._0_4_)" ( (field_expression "iDocid._0_4_" identifier . field_identifier) )) -> field_identifier)))) )))) )))) ;) (expression_statement "psVar7 = (sqlite3 *)(puVar33 + -0x4cdc);" (assignment_expression "psVar7 = (sqlite3 *)(puVar33 + -0x4cdc)" identifier = (cast_expression "(sqlite3 *)(puVar33 + -0x4cdc)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + -0x4cdc)" ( (binary_expression "puVar33 + -0x4cdc" identifier + number_literal) )))) ;) (expression_statement "psStack_88 = psVar31;" (assignment_expression "psStack_88 = psVar31" identifier = identifier) ;) (expression_statement "iDocid._0_4_ = psVar31;" (assignment_expression "iDocid._0_4_ = psVar31" (field_expression "iDocid._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "iDocid._4_4_ = uStack_84;" (assignment_expression "iDocid._4_4_ = uStack_84" (field_expression "iDocid._4_4_" identifier . field_identifier) = identifier) ;) (expression_statement "(*pcVar35)(pRc,pBuf);" (call_expression "(*pcVar35)(pRc,pBuf)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pRc,pBuf)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "((int)puVar36 < n)" ( (binary_expression "(int)puVar36 < n" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) })) (if_statement "if (pvStack_2c == *(void **)puVar2) {\n    return (int)puVar36;\n  }" if (parenthesized_expression "(pvStack_2c == *(void **)puVar2)" ( (binary_expression "pvStack_2c == *(void **)puVar2" identifier == (pointer_expression "*(void **)puVar2" * (cast_expression "(void **)puVar2" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return (int)puVar36;\n  }" { (return_statement "return (int)puVar36;" return (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "pcVar38 = fts5DecodeFunction;" (assignment_expression "pcVar38 = fts5DecodeFunction" identifier = identifier) ;) (expression_statement "pvVar15 = pvStack_2c;" (assignment_expression "pvVar15 = pvStack_2c" identifier = identifier) ;) (expression_statement "puVar33 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar33 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_148 = puVar33 + 0xe0838;" (assignment_expression "puStack_148 = puVar33 + 0xe0838" identifier = (binary_expression "puVar33 + 0xe0838" identifier + number_literal)) ;) (expression_statement "piStack_130 = *(int **)(puVar33 + 0xd8d3c);" (assignment_expression "piStack_130 = *(int **)(puVar33 + 0xd8d3c)" identifier = (pointer_expression "*(int **)(puVar33 + 0xd8d3c)" * (cast_expression "(int **)(puVar33 + 0xd8d3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0xd8d3c)" ( (binary_expression "puVar33 + 0xd8d3c" identifier + number_literal) ))))) ;) (expression_statement "pFStack_110 = (Fts5Parse *)0x0;" (assignment_expression "pFStack_110 = (Fts5Parse *)0x0" identifier = (cast_expression "(Fts5Parse *)0x0" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_c4 = *piStack_130;" (assignment_expression "iStack_c4 = *piStack_130" identifier = (pointer_expression "*piStack_130" * identifier)) ;) (expression_statement "iVar37 = *(int *)(*(int *)((int)pvVar15 + 4) + 8);" (assignment_expression "iVar37 = *(int *)(*(int *)((int)pvVar15 + 4) + 8)" identifier = (pointer_expression "*(int *)(*(int *)((int)pvVar15 + 4) + 8)" * (cast_expression "(int *)(*(int *)((int)pvVar15 + 4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)pvVar15 + 4) + 8)" ( (binary_expression "*(int *)((int)pvVar15 + 4) + 8" (pointer_expression "*(int *)((int)pvVar15 + 4)" * (cast_expression "(int *)((int)pvVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar15 + 4)" ( (binary_expression "(int)pvVar15 + 4" (cast_expression "(int)pvVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "FStack_100.p = (u8 *)0x0;" (assignment_expression "FStack_100.p = (u8 *)0x0" (field_expression "FStack_100.p" identifier . field_identifier) = (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FStack_100.n = 0;" (assignment_expression "FStack_100.n = 0" (field_expression "FStack_100.n" identifier . field_identifier) = number_literal) ;) (expression_statement "FStack_100.nSpace = 0;" (assignment_expression "FStack_100.nSpace = 0" (field_expression "FStack_100.nSpace" identifier . field_identifier) = number_literal) ;) (expression_statement "psVar21 = psVar7;" (assignment_expression "psVar21 = psVar7" identifier = identifier) ;) (expression_statement "puStack_c0 = unaff_s0;" (assignment_expression "puStack_c0 = unaff_s0" identifier = identifier) ;) (expression_statement "piStack_bc = pRc;" (assignment_expression "piStack_bc = pRc" identifier = identifier) ;) (expression_statement "pFStack_b8 = pBuf;" (assignment_expression "pFStack_b8 = pBuf" identifier = identifier) ;) (expression_statement "piStack_ac = unaff_s5;" (assignment_expression "piStack_ac = unaff_s5" identifier = identifier) ;) (expression_statement "piStack_a8 = unaff_s6;" (assignment_expression "piStack_a8 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_a4 = unaff_s7;" (assignment_expression "piStack_a4 = unaff_s7" identifier = identifier) ;) (expression_statement "puStack_a0 = puVar36;" (assignment_expression "puStack_a0 = puVar36" identifier = identifier) ;) (expression_statement "pcStack_9c = pcVar38;" (assignment_expression "pcStack_9c = pcVar38" identifier = identifier) ;) (expression_statement "uVar40 = (*(code *)(*(int *)(puVar33 + 0xd8ac0) + 0x7f68))((sqlite3 *)psVar7->pVfs);" (assignment_expression "uVar40 = (*(code *)(*(int *)(puVar33 + 0xd8ac0) + 0x7f68))((sqlite3 *)psVar7->pVfs)" identifier = (call_expression "(*(code *)(*(int *)(puVar33 + 0xd8ac0) + 0x7f68))((sqlite3 *)psVar7->pVfs)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0xd8ac0) + 0x7f68))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0xd8ac0) + 0x7f68)" * (cast_expression "(code *)(*(int *)(puVar33 + 0xd8ac0) + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0xd8ac0) + 0x7f68)" ( (binary_expression "*(int *)(puVar33 + 0xd8ac0) + 0x7f68" (pointer_expression "*(int *)(puVar33 + 0xd8ac0)" * (cast_expression "(int *)(puVar33 + 0xd8ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0xd8ac0)" ( (binary_expression "puVar33 + 0xd8ac0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((sqlite3 *)psVar7->pVfs)" ( (cast_expression "(sqlite3 *)psVar7->pVfs" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar7->pVfs" identifier -> field_identifier)) )))) ;) (expression_statement "uVar4 = (uint)((ulonglong)uVar40 >> 0x20);" (assignment_expression "uVar4 = (uint)((ulonglong)uVar40 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar40 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar40 >> 0x20)" ( (binary_expression "(ulonglong)uVar40 >> 0x20" (cast_expression "(ulonglong)uVar40" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar12 = (uint)uVar40;" (assignment_expression "uVar12 = (uint)uVar40" identifier = (cast_expression "(uint)uVar40" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pVVar5 = (Vdbe *)(*(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88))(psVar7->pVdbe,1);" (assignment_expression "pVVar5 = (Vdbe *)(*(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88))(psVar7->pVdbe,1)" identifier = (cast_expression "(Vdbe *)(*(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88))(psVar7->pVdbe,1)" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88))(psVar7->pVdbe,1)" (parenthesized_expression "(*(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88))" ( (pointer_expression "*(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88)" * (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d60) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d60) + 0x6c88)" ( (binary_expression "*(int *)(puStack_148 + -0x7d60) + 0x6c88" (pointer_expression "*(int *)(puStack_148 + -0x7d60)" * (cast_expression "(int *)(puStack_148 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d60)" ( (binary_expression "puStack_148 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar7->pVdbe,1)" ( (field_expression "psVar7->pVdbe" identifier -> field_identifier) , number_literal ))))) ;) (expression_statement "uVar6 = (**(code **)(puStack_148 + -0x7f64))(psVar7->pVdbe);" (assignment_expression "uVar6 = (**(code **)(puStack_148 + -0x7f64))(psVar7->pVdbe)" identifier = (call_expression "(**(code **)(puStack_148 + -0x7f64))(psVar7->pVdbe)" (parenthesized_expression "(**(code **)(puStack_148 + -0x7f64))" ( (pointer_expression "**(code **)(puStack_148 + -0x7f64)" * (pointer_expression "*(code **)(puStack_148 + -0x7f64)" * (cast_expression "(code **)(puStack_148 + -0x7f64)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_148 + -0x7f64)" ( (binary_expression "puStack_148 + -0x7f64" identifier + number_literal) ))))) )) (argument_list "(psVar7->pVdbe)" ( (field_expression "psVar7->pVdbe" identifier -> field_identifier) )))) ;) (if_statement "if (pFStack_110 == (Fts5Parse *)0x0) {\n    psVar31 = (sqlite3 *)&pVVar5->pNext;\n    psVar21 = (sqlite3 *)((int)psVar31 >> 0x1f);\n    psVar7 = (sqlite3 *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))(&pFStack_110);\n    if (psVar7 == (sqlite3 *)0x0) goto LAB_000b82dc;\n    if (0 < (int)pVVar5) {\n      (**(code **)(puStack_148 + -0x7af4))(psVar7,uVar6,pVVar5);\n    }\n    psVar21 = (sqlite3 *)((uVar4 << 0xb) >> 0x10);\n    psStack_138 = (sqlite3 *)(uVar12 & 0x7fffffff);\n    iVar25 = uVar4 << 0x1b;\n    if (psVar21 != (sqlite3 *)0x0) {\n      FStack_160.nPhrase = (uVar4 & 0xf) << 1 | uVar12 >> 0x1f;\n      FStack_160.rc = (int)psVar21;\n      FStack_160.apPhrase = (Fts5ExprPhrase **)psStack_138;\n      if (iVar25 < 0) {\n        pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);\n        psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n        sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n        goto LAB_000b8528;\n      }\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar37 == 0) {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_104 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        if (3 < (int)pVVar5) {\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }\n        psVar21 = (sqlite3 *)&DAT_00000007;\n        FStack_100.n = 0;\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);\n        sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_108 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_12c = psVar32;\n        psVar31 = psVar32;\n        if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }\n        psStack_10c = psVar31;\n        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;\n        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);\n        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);\n        psVar21 = psStack_10c;\n        if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        pcVar38 = (code *)(iVar37 + 0x7c);\n        (*pcVar38)(psStack_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) &&\n       (pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1)) {\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) {\nLAB_000b8528:\n        iVar37 = *(int *)(puStack_148 + -0x7d7c);\n        psStack_e8 = (sqlite3 *)&psStack_f4;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_dc = (sqlite3_mutex *)0x0;\n        iStack_d4 = 0;\n        psStack_d0 = (sqlite3 *)0x0;\n        uStack_cc = 0;\n        psStack_d8 = psStack_138;\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_f4 = psVar7;\n        pVStack_f0 = pVVar5;\n        (*(code *)(iVar37 + 0x687c))();\n        pFVar8 = pFStack_110;\n        if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7fc4);\n        do {\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        } while (pCStack_e0 == (CollSeq *)0x0);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pFVar8 = pFStack_110;\n        if ((int)pVVar5 < 1) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7de0);\n        iVar20 = *(int *)(puStack_148 + -0x7fc8);\n        iVar29 = *(int *)(puStack_148 + -0x7fc4);\n        iVar37 = 0;\n        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) goto LAB_000b8528;\n      psVar31 = (sqlite3 *)&psStack_e8;\n      psVar21 = (sqlite3 *)0x0;\n      psStack_e8 = (sqlite3 *)0x0;\n      pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5);\n      if (pFVar8 == (Fts5Parse *)0x0) {\n        psStack_138 = psStack_e8;\n        if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }\n        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);\n        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;\n        psStack_138 = psStack_e8;\n        pFVar8 = pFStack_110;\n        if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      pFStack_110 = pFVar8;\n      pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 == (Fts5Parse *)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pFVar8 = pFStack_110;\n    (**(code **)(puStack_148 + -0x7f4c))(pvVar15);\n  }\n  else {\nLAB_000b82dc:\n    psVar7 = (sqlite3 *)0x0;\n    pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 != (Fts5Parse *)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pFVar8 = (Fts5Parse *)((int)pvVar15 + 0x14);\n    FStack_160.nPhrase = 0xffffffff;\n    FStack_160.rc = 1;\n    psVar21 = (sqlite3 *)FStack_100.p;\n    psVar31 = (sqlite3 *)FStack_100.n;\n    (*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0))(pvVar15);\n  }" if (parenthesized_expression "(pFStack_110 == (Fts5Parse *)0x0)" ( (binary_expression "pFStack_110 == (Fts5Parse *)0x0" identifier == (cast_expression "(Fts5Parse *)0x0" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    psVar31 = (sqlite3 *)&pVVar5->pNext;\n    psVar21 = (sqlite3 *)((int)psVar31 >> 0x1f);\n    psVar7 = (sqlite3 *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))(&pFStack_110);\n    if (psVar7 == (sqlite3 *)0x0) goto LAB_000b82dc;\n    if (0 < (int)pVVar5) {\n      (**(code **)(puStack_148 + -0x7af4))(psVar7,uVar6,pVVar5);\n    }\n    psVar21 = (sqlite3 *)((uVar4 << 0xb) >> 0x10);\n    psStack_138 = (sqlite3 *)(uVar12 & 0x7fffffff);\n    iVar25 = uVar4 << 0x1b;\n    if (psVar21 != (sqlite3 *)0x0) {\n      FStack_160.nPhrase = (uVar4 & 0xf) << 1 | uVar12 >> 0x1f;\n      FStack_160.rc = (int)psVar21;\n      FStack_160.apPhrase = (Fts5ExprPhrase **)psStack_138;\n      if (iVar25 < 0) {\n        pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);\n        psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n        sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n        goto LAB_000b8528;\n      }\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar37 == 0) {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_104 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        if (3 < (int)pVVar5) {\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }\n        psVar21 = (sqlite3 *)&DAT_00000007;\n        FStack_100.n = 0;\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);\n        sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_108 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_12c = psVar32;\n        psVar31 = psVar32;\n        if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }\n        psStack_10c = psVar31;\n        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;\n        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);\n        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);\n        psVar21 = psStack_10c;\n        if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        pcVar38 = (code *)(iVar37 + 0x7c);\n        (*pcVar38)(psStack_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) &&\n       (pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1)) {\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) {\nLAB_000b8528:\n        iVar37 = *(int *)(puStack_148 + -0x7d7c);\n        psStack_e8 = (sqlite3 *)&psStack_f4;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_dc = (sqlite3_mutex *)0x0;\n        iStack_d4 = 0;\n        psStack_d0 = (sqlite3 *)0x0;\n        uStack_cc = 0;\n        psStack_d8 = psStack_138;\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_f4 = psVar7;\n        pVStack_f0 = pVVar5;\n        (*(code *)(iVar37 + 0x687c))();\n        pFVar8 = pFStack_110;\n        if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7fc4);\n        do {\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        } while (pCStack_e0 == (CollSeq *)0x0);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pFVar8 = pFStack_110;\n        if ((int)pVVar5 < 1) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7de0);\n        iVar20 = *(int *)(puStack_148 + -0x7fc8);\n        iVar29 = *(int *)(puStack_148 + -0x7fc4);\n        iVar37 = 0;\n        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) goto LAB_000b8528;\n      psVar31 = (sqlite3 *)&psStack_e8;\n      psVar21 = (sqlite3 *)0x0;\n      psStack_e8 = (sqlite3 *)0x0;\n      pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5);\n      if (pFVar8 == (Fts5Parse *)0x0) {\n        psStack_138 = psStack_e8;\n        if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }\n        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);\n        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;\n        psStack_138 = psStack_e8;\n        pFVar8 = pFStack_110;\n        if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      pFStack_110 = pFVar8;\n      pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 == (Fts5Parse *)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pFVar8 = pFStack_110;\n    (**(code **)(puStack_148 + -0x7f4c))(pvVar15);\n  }" { (expression_statement "psVar31 = (sqlite3 *)&pVVar5->pNext;" (assignment_expression "psVar31 = (sqlite3 *)&pVVar5->pNext" identifier = (cast_expression "(sqlite3 *)&pVVar5->pNext" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pVVar5->pNext" & (field_expression "pVVar5->pNext" identifier -> field_identifier)))) ;) (expression_statement "psVar21 = (sqlite3 *)((int)psVar31 >> 0x1f);" (assignment_expression "psVar21 = (sqlite3 *)((int)psVar31 >> 0x1f)" identifier = (cast_expression "(sqlite3 *)((int)psVar31 >> 0x1f)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar31 >> 0x1f)" ( (binary_expression "(int)psVar31 >> 0x1f" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "psVar7 = (sqlite3 *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))(&pFStack_110);" (assignment_expression "psVar7 = (sqlite3 *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))(&pFStack_110)" identifier = (cast_expression "(sqlite3 *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))(&pFStack_110)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))(&pFStack_110)" (parenthesized_expression "(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0))" ( (pointer_expression "*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0)" * (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d68) + 0x51c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d68) + 0x51c0)" ( (binary_expression "*(int *)(puStack_148 + -0x7d68) + 0x51c0" (pointer_expression "*(int *)(puStack_148 + -0x7d68)" * (cast_expression "(int *)(puStack_148 + -0x7d68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d68)" ( (binary_expression "puStack_148 + -0x7d68" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(&pFStack_110)" ( (pointer_expression "&pFStack_110" & identifier) ))))) ;) (if_statement "if (psVar7 == (sqlite3 *)0x0) goto LAB_000b82dc;" if (parenthesized_expression "(psVar7 == (sqlite3 *)0x0)" ( (binary_expression "psVar7 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b82dc;" goto statement_identifier ;)) (if_statement "if (0 < (int)pVVar5) {\n      (**(code **)(puStack_148 + -0x7af4))(psVar7,uVar6,pVVar5);\n    }" if (parenthesized_expression "(0 < (int)pVVar5)" ( (binary_expression "0 < (int)pVVar5" number_literal < (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      (**(code **)(puStack_148 + -0x7af4))(psVar7,uVar6,pVVar5);\n    }" { (expression_statement "(**(code **)(puStack_148 + -0x7af4))(psVar7,uVar6,pVVar5);" (call_expression "(**(code **)(puStack_148 + -0x7af4))(psVar7,uVar6,pVVar5)" (parenthesized_expression "(**(code **)(puStack_148 + -0x7af4))" ( (pointer_expression "**(code **)(puStack_148 + -0x7af4)" * (pointer_expression "*(code **)(puStack_148 + -0x7af4)" * (cast_expression "(code **)(puStack_148 + -0x7af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_148 + -0x7af4)" ( (binary_expression "puStack_148 + -0x7af4" identifier + number_literal) ))))) )) (argument_list "(psVar7,uVar6,pVVar5)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "psVar21 = (sqlite3 *)((uVar4 << 0xb) >> 0x10);" (assignment_expression "psVar21 = (sqlite3 *)((uVar4 << 0xb) >> 0x10)" identifier = (cast_expression "(sqlite3 *)((uVar4 << 0xb) >> 0x10)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar4 << 0xb) >> 0x10)" ( (binary_expression "(uVar4 << 0xb) >> 0x10" (parenthesized_expression "(uVar4 << 0xb)" ( (binary_expression "uVar4 << 0xb" identifier << number_literal) )) >> number_literal) )))) ;) (expression_statement "psStack_138 = (sqlite3 *)(uVar12 & 0x7fffffff);" (assignment_expression "psStack_138 = (sqlite3 *)(uVar12 & 0x7fffffff)" identifier = (cast_expression "(sqlite3 *)(uVar12 & 0x7fffffff)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 & 0x7fffffff)" ( (binary_expression "uVar12 & 0x7fffffff" identifier & number_literal) )))) ;) (expression_statement "iVar25 = uVar4 << 0x1b;" (assignment_expression "iVar25 = uVar4 << 0x1b" identifier = (binary_expression "uVar4 << 0x1b" identifier << number_literal)) ;) (if_statement "if (psVar21 != (sqlite3 *)0x0) {\n      FStack_160.nPhrase = (uVar4 & 0xf) << 1 | uVar12 >> 0x1f;\n      FStack_160.rc = (int)psVar21;\n      FStack_160.apPhrase = (Fts5ExprPhrase **)psStack_138;\n      if (iVar25 < 0) {\n        pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);\n        psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n        sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n        goto LAB_000b8528;\n      }\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar37 == 0) {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_104 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        if (3 < (int)pVVar5) {\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }\n        psVar21 = (sqlite3 *)&DAT_00000007;\n        FStack_100.n = 0;\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);\n        sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_108 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_12c = psVar32;\n        psVar31 = psVar32;\n        if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }\n        psStack_10c = psVar31;\n        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;\n        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);\n        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);\n        psVar21 = psStack_10c;\n        if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        pcVar38 = (code *)(iVar37 + 0x7c);\n        (*pcVar38)(psStack_138);\n      }\n      goto LAB_000b82e8;\n    }" if (parenthesized_expression "(psVar21 != (sqlite3 *)0x0)" ( (binary_expression "psVar21 != (sqlite3 *)0x0" identifier != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FStack_160.nPhrase = (uVar4 & 0xf) << 1 | uVar12 >> 0x1f;\n      FStack_160.rc = (int)psVar21;\n      FStack_160.apPhrase = (Fts5ExprPhrase **)psStack_138;\n      if (iVar25 < 0) {\n        pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);\n        psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n        sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n        goto LAB_000b8528;\n      }\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar37 == 0) {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_104 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        if (3 < (int)pVVar5) {\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }\n        psVar21 = (sqlite3 *)&DAT_00000007;\n        FStack_100.n = 0;\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);\n        sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_108 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_12c = psVar32;\n        psVar31 = psVar32;\n        if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }\n        psStack_10c = psVar31;\n        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;\n        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);\n        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);\n        psVar21 = psStack_10c;\n        if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        pcVar38 = (code *)(iVar37 + 0x7c);\n        (*pcVar38)(psStack_138);\n      }\n      goto LAB_000b82e8;\n    }" { (expression_statement "FStack_160.nPhrase = (uVar4 & 0xf) << 1 | uVar12 >> 0x1f;" (assignment_expression "FStack_160.nPhrase = (uVar4 & 0xf) << 1 | uVar12 >> 0x1f" (field_expression "FStack_160.nPhrase" identifier . field_identifier) = (binary_expression "(uVar4 & 0xf) << 1 | uVar12 >> 0x1f" (binary_expression "(uVar4 & 0xf) << 1" (parenthesized_expression "(uVar4 & 0xf)" ( (binary_expression "uVar4 & 0xf" identifier & number_literal) )) << number_literal) | (binary_expression "uVar12 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "FStack_160.rc = (int)psVar21;" (assignment_expression "FStack_160.rc = (int)psVar21" (field_expression "FStack_160.rc" identifier . field_identifier) = (cast_expression "(int)psVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FStack_160.apPhrase = (Fts5ExprPhrase **)psStack_138;" (assignment_expression "FStack_160.apPhrase = (Fts5ExprPhrase **)psStack_138" (field_expression "FStack_160.apPhrase" identifier . field_identifier) = (cast_expression "(Fts5ExprPhrase **)psStack_138" ( (type_descriptor "Fts5ExprPhrase **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (iVar25 < 0) {\n        pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);\n        psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n        sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n        goto LAB_000b8528;\n      }" if (parenthesized_expression "(iVar25 < 0)" ( (binary_expression "iVar25 < 0" identifier < number_literal) )) (compound_statement "{\n        pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);\n        psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);\n        sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n        goto LAB_000b8528;\n      }" { (expression_statement "pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);" (assignment_expression "pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(puStack_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(puStack_148 + -0x7cf4)" * (cast_expression "(int *)(puStack_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7cf4)" ( (binary_expression "puStack_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44);" (assignment_expression "psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c44)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc4) + -0x4c44)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc4) + -0x4c44" (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);" (assignment_expression "psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc4) + -0x4c60)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc4) + -0x4c60" (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);" (call_expression "sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21)" identifier (argument_list "((int *)&pFStack_110,&FStack_100,(char *)psVar21)" ( (cast_expression "(int *)&pFStack_110" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFStack_110" & identifier)) , (pointer_expression "&FStack_100" & identifier) , (cast_expression "(char *)psVar21" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (goto_statement "goto LAB_000b8528;" goto statement_identifier ;) })) (expression_statement "pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);" (assignment_expression "pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(puStack_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(puStack_148 + -0x7cf4)" * (cast_expression "(int *)(puStack_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7cf4)" ( (binary_expression "puStack_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);" (assignment_expression "psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc8) + 0x30a8)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc8) + 0x30a8" (pointer_expression "*(int *)(puStack_148 + -0x7fc8)" * (cast_expression "(int *)(puStack_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc8)" ( (binary_expression "puStack_148 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60);" (assignment_expression "psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c60)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc4) + -0x4c60)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc4) + -0x4c60" (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);" (call_expression "sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21)" identifier (argument_list "((int *)&pFStack_110,&FStack_100,(char *)psVar21)" ( (cast_expression "(int *)&pFStack_110" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFStack_110" & identifier)) , (pointer_expression "&FStack_100" & identifier) , (cast_expression "(char *)psVar21" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (iVar37 == 0) {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_104 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        if (3 < (int)pVVar5) {\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }\n        psVar21 = (sqlite3 *)&DAT_00000007;\n        FStack_100.n = 0;\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);\n        sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_108 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_12c = psVar32;\n        psVar31 = psVar32;\n        if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }\n        psStack_10c = psVar31;\n        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;\n        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);\n        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);\n        psVar21 = psStack_10c;\n        if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        pcVar38 = (code *)(iVar37 + 0x7c);\n        (*pcVar38)(psStack_138);\n      }" if (parenthesized_expression "(iVar37 == 0)" ( (binary_expression "iVar37 == 0" identifier == number_literal) )) (compound_statement "{\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_104 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        if (3 < (int)pVVar5) {\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }\n        psVar21 = (sqlite3 *)&DAT_00000007;\n        FStack_100.n = 0;\n        psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);\n        sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }" { (expression_statement "psStack_138 = (sqlite3 *)&psStack_e8;" (assignment_expression "psStack_138 = (sqlite3 *)&psStack_e8" identifier = (cast_expression "(sqlite3 *)&psStack_e8" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_e8" & identifier))) ;) (expression_statement "psStack_e8 = (sqlite3 *)0x0;" (assignment_expression "psStack_e8 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_104 = (sqlite3 *)0x0;" (assignment_expression "psStack_104 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_e4 = (sqlite3 *)0x0;" (assignment_expression "psStack_e4 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCStack_e0 = (CollSeq *)0x0;" (assignment_expression "pCStack_e0 = (CollSeq *)0x0" identifier = (cast_expression "(CollSeq *)0x0" ( (type_descriptor "CollSeq *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (3 < (int)pVVar5) {\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }" if (parenthesized_expression "(3 < (int)pVVar5)" ( (binary_expression "3 < (int)pVVar5" number_literal < (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n          psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);\n          psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);\n          if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          pFStack_110 = (Fts5Parse *)0x10b;\n          pFVar8 = pFStack_110;\n          goto LAB_000b8260;\n        }" { (expression_statement "psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);" (assignment_expression "psStack_12c = (sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff)" identifier = (cast_expression "(sqlite3 *)\n                        ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff)" ( (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff" (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                         (uint)*(byte *)((int)&psVar7->pVfs + 3)" (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100" (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)&psVar7->pVfs + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar7->pVfs + 2)" ( (binary_expression "(int)&psVar7->pVfs + 2" (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier))) + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)&psVar7->pVfs + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar7->pVfs + 3)" ( (binary_expression "(int)&psVar7->pVfs + 3" (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier))) + number_literal) ))))) & number_literal) )))) ;) (expression_statement "psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5);" (assignment_expression "psStack_124 = (sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5)" identifier = (cast_expression "(sqlite3 *)(uint)((int)psStack_12c < (int)pVVar5)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)psStack_12c < (int)pVVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)psStack_12c < (int)pVVar5)" ( (binary_expression "(int)psStack_12c < (int)pVVar5" (cast_expression "(int)psStack_12c" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff);" (assignment_expression "psVar32 = (sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff)" identifier = (cast_expression "(sqlite3 *)\n                    ((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff)" ( (binary_expression "(uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)\n                    & 0xffff" (binary_expression "(uint)*(byte *)&psVar7->pVfs * 0x100 + (uint)*(byte *)((int)&psVar7->pVfs + 1)" (binary_expression "(uint)*(byte *)&psVar7->pVfs * 0x100" (binary_expression "(uint)*(byte *)&psVar7->pVfs" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&psVar7->pVfs" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) * number_literal) + (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)&psVar7->pVfs + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar7->pVfs + 1)" ( (binary_expression "(int)&psVar7->pVfs + 1" (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier))) + number_literal) ))))) & number_literal) )))) ;) (if_statement "if (psStack_124 == (sqlite3 *)0x0) {\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" if (parenthesized_expression "(psStack_124 == (sqlite3 *)0x0)" ( (binary_expression "psStack_124 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }" { (if_statement "if ((int)psStack_12c <= (int)pVVar5) {\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }" if (parenthesized_expression "((int)psStack_12c <= (int)pVVar5)" ( (binary_expression "(int)psStack_12c <= (int)pVVar5" (cast_expression "(int)psStack_12c" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }\n              goto LAB_000b887c;\n            }" { (if_statement "if (psVar32 == (sqlite3 *)0x0) {\n                psVar32 = psStack_12c;\n              }" if (parenthesized_expression "(psVar32 == (sqlite3 *)0x0)" ( (binary_expression "psVar32 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                psVar32 = psStack_12c;\n              }" { (expression_statement "psVar32 = psStack_12c;" (assignment_expression "psVar32 = psStack_12c" identifier = identifier) ;) })) (goto_statement "goto LAB_000b887c;" goto statement_identifier ;) })) }) (else_clause "else {\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" else (compound_statement "{\n            (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }\nLAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" { (expression_statement "(*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104);" (call_expression "(*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                      ((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104)" (parenthesized_expression "(*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))" ( (pointer_expression "*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" * (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(puStack_148 + -0x7d7c)" * (cast_expression "(int *)(puStack_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d7c)" ( (binary_expression "puStack_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),&psStack_104)" ( (cast_expression "(u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_12c->pVfs + (int)&psVar7->pVfs)" ( (binary_expression "(int)&psStack_12c->pVfs + (int)&psVar7->pVfs" (cast_expression "(int)&psStack_12c->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_12c->pVfs" & (field_expression "psStack_12c->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) ))) , (pointer_expression "&psStack_104" & identifier) ))) ;) (if_statement "if ((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)) {\n              psVar32 = psStack_12c;\n            }" if (parenthesized_expression "((psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0))" ( (binary_expression "(psVar32 == (sqlite3 *)0x0) &&\n               (psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)" (parenthesized_expression "(psVar32 == (sqlite3 *)0x0)" ( (binary_expression "psVar32 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0)" ( (comma_expression "psVar32 = psStack_104, psStack_104 == (sqlite3 *)0x0" (assignment_expression "psVar32 = psStack_104" identifier = identifier) , (binary_expression "psStack_104 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n              psVar32 = psStack_12c;\n            }" { (expression_statement "psVar32 = psStack_12c;" (assignment_expression "psVar32 = psStack_12c" identifier = identifier) ;) })) (labeled_statement "LAB_000b887c:\n            if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" statement_identifier : (if_statement "if ((int)psVar32 <= (int)pVVar5) {\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" if (parenthesized_expression "((int)psVar32 <= (int)pVVar5)" ( (binary_expression "(int)psVar32 <= (int)pVVar5" (cast_expression "(int)psVar32" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }\n              psVar31 = psStack_104;\n              if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }\n              if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" { (if_statement "if (0 < (int)&psVar32[-1].pNextBlocked) {\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }" if (parenthesized_expression "(0 < (int)&psVar32[-1].pNextBlocked)" ( (binary_expression "0 < (int)&psVar32[-1].pNextBlocked" number_literal < (cast_expression "(int)&psVar32[-1].pNextBlocked" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar32[-1].pNextBlocked" & (field_expression "psVar32[-1].pNextBlocked" (subscript_expression "psVar32[-1]" identifier [ number_literal ]) . field_identifier)))) )) (compound_statement "{\n                psStack_128 = (sqlite3 *)&psStack_f4;\n                pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                iVar25 = *(int *)(puStack_148 + -0x7fc4);\n                iVar37 = 0;\n                do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);\n              }" { (expression_statement "psStack_128 = (sqlite3 *)&psStack_f4;" (assignment_expression "psStack_128 = (sqlite3 *)&psStack_f4" identifier = (cast_expression "(sqlite3 *)&psStack_f4" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_f4" & identifier))) ;) (expression_statement "pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);" (assignment_expression "pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(puStack_148 + -0x7d7c)" * (cast_expression "(int *)(puStack_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d7c)" ( (binary_expression "puStack_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar25 = *(int *)(puStack_148 + -0x7fc4);" (assignment_expression "iVar25 = *(int *)(puStack_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) (do_statement "do {\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                } while (iVar37 < (int)&psVar32[-1].pNextBlocked);" do (compound_statement "{\n                  iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);\n                  iVar37 = iVar37 + iVar20;\n                  psVar21 = (sqlite3 *)(iVar25 + -0x556c);\n                  (*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);\n                }" { (expression_statement "iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128);" (assignment_expression "iVar20 = (*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128)" identifier = (call_expression "(*pcStack_134)((int)&psVar7->pVdbe + iVar37,psStack_128)" (parenthesized_expression "(*pcStack_134)" ( (pointer_expression "*pcStack_134" * identifier) )) (argument_list "((int)&psVar7->pVdbe + iVar37,psStack_128)" ( (binary_expression "(int)&psVar7->pVdbe + iVar37" (cast_expression "(int)&psVar7->pVdbe" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVdbe" & (field_expression "psVar7->pVdbe" identifier -> field_identifier))) + identifier) , identifier )))) ;) (expression_statement "iVar37 = iVar37 + iVar20;" (assignment_expression "iVar37 = iVar37 + iVar20" identifier = (binary_expression "iVar37 + iVar20" identifier + identifier)) ;) (expression_statement "psVar21 = (sqlite3 *)(iVar25 + -0x556c);" (assignment_expression "psVar21 = (sqlite3 *)(iVar25 + -0x556c)" identifier = (cast_expression "(sqlite3 *)(iVar25 + -0x556c)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x556c)" ( (binary_expression "iVar25 + -0x556c" identifier + number_literal) )))) ;) (expression_statement "(*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4);" (call_expression "(*pcStack_13c)(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4)" (parenthesized_expression "(*pcStack_13c)" ( (pointer_expression "*pcStack_13c" * identifier) )) (argument_list "(&pFStack_110,&FStack_100,(sqlite3 *)(iVar25 + -0x556c),psStack_f4)" ( (pointer_expression "&pFStack_110" & identifier) , (pointer_expression "&FStack_100" & identifier) , (cast_expression "(sqlite3 *)(iVar25 + -0x556c)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x556c)" ( (binary_expression "iVar25 + -0x556c" identifier + number_literal) ))) , identifier ))) ;) }) while (parenthesized_expression "(iVar37 < (int)&psVar32[-1].pNextBlocked)" ( (binary_expression "iVar37 < (int)&psVar32[-1].pNextBlocked" identifier < (cast_expression "(int)&psVar32[-1].pNextBlocked" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar32[-1].pNextBlocked" & (field_expression "psVar32[-1].pNextBlocked" (subscript_expression "psVar32[-1]" identifier [ number_literal ]) . field_identifier)))) )) ;) })) (expression_statement "psVar31 = psStack_104;" (assignment_expression "psVar31 = psStack_104" identifier = identifier) ;) (if_statement "if (psStack_104 == (sqlite3 *)0x0) {\n                psVar31 = psStack_12c;\n              }" if (parenthesized_expression "(psStack_104 == (sqlite3 *)0x0)" ( (binary_expression "psStack_104 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                psVar31 = psStack_12c;\n              }" { (expression_statement "psVar31 = psStack_12c;" (assignment_expression "psVar31 = psStack_12c" identifier = identifier) ;) })) (if_statement "if ((int)psVar31 <= (int)pVVar5) {\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }" if (parenthesized_expression "((int)psVar31 <= (int)pVVar5)" ( (binary_expression "(int)psVar31 <= (int)pVVar5" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);\n                psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);\n                pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);\n                fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);\n                if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }\n                goto LAB_000b84cc;\n              }" { (expression_statement "psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32);" (assignment_expression "psVar31 = (sqlite3 *)((int)psVar31 - (int)psVar32)" identifier = (cast_expression "(sqlite3 *)((int)psVar31 - (int)psVar32)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar31 - (int)psVar32)" ( (binary_expression "(int)psVar31 - (int)psVar32" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)psVar32" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs);" (assignment_expression "psVar21 = (sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs)" identifier = (cast_expression "(sqlite3 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar32->pVfs + (int)&psVar7->pVfs)" ( (binary_expression "(int)&psVar32->pVfs + (int)&psVar7->pVfs" (cast_expression "(int)&psVar32->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar32->pVfs" & (field_expression "psVar32->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) )))) ;) (expression_statement "pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40);" (assignment_expression "pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7e40)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7cf4) + 0x7e40)" ( (binary_expression "*(int *)(puStack_148 + -0x7cf4) + 0x7e40" (pointer_expression "*(int *)(puStack_148 + -0x7cf4)" * (cast_expression "(int *)(puStack_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7cf4)" ( (binary_expression "puStack_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31);" (call_expression "fts5DecodeDoclist((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31)" identifier (argument_list "((int *)&pFStack_110,&FStack_100,(u8 *)psVar21,(int)psVar31)" ( (cast_expression "(int *)&pFStack_110" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFStack_110" & identifier)) , (pointer_expression "&FStack_100" & identifier) , (cast_expression "(u8 *)psVar21" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (if_statement "if ((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)) {\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }" if (parenthesized_expression "((psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0))" ( (binary_expression "(psStack_124 != (sqlite3 *)0x0) && (pFStack_110 == (Fts5Parse *)0x0)" (parenthesized_expression "(psStack_124 != (sqlite3 *)0x0)" ( (binary_expression "psStack_124 != (sqlite3 *)0x0" identifier != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pFStack_110 == (Fts5Parse *)0x0)" ( (binary_expression "pFStack_110 == (Fts5Parse *)0x0" identifier == (cast_expression "(Fts5Parse *)0x0" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                  psStack_124 = (sqlite3 *)&psStack_f4;\n                  pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n                  pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n                  iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;\n                  iVar37 = 0;\n                  psVar32 = psStack_12c;\n                  while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  psStack_114 = psStack_124;\n                  psStack_124 = psStack_128;\n                  (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);\n                  psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);\n                  psVar13 = psStack_114;\n                  if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;\n                }" { (expression_statement "psStack_124 = (sqlite3 *)&psStack_f4;" (assignment_expression "psStack_124 = (sqlite3 *)&psStack_f4" identifier = (cast_expression "(sqlite3 *)&psStack_f4" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_f4" & identifier))) ;) (expression_statement "pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);" (assignment_expression "pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(puStack_148 + -0x7d7c)" * (cast_expression "(int *)(puStack_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d7c)" ( (binary_expression "puStack_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);" (assignment_expression "pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7cf4) + -0x3854)" ( (binary_expression "*(int *)(puStack_148 + -0x7cf4) + -0x3854" (pointer_expression "*(int *)(puStack_148 + -0x7cf4)" * (cast_expression "(int *)(puStack_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7cf4)" ( (binary_expression "puStack_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c;" (assignment_expression "iStack_118 = *(int *)(puStack_148 + -0x7fc4) + -0x4c6c" identifier = (binary_expression "*(int *)(puStack_148 + -0x7fc4) + -0x4c6c" (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) (expression_statement "psVar32 = psStack_12c;" (assignment_expression "psVar32 = psStack_12c" identifier = identifier) ;) (while_statement "while( true ) {\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    psStack_128 = psStack_124;\n                    ppsVar19 = (sqlite3 **)psStack_124;\n                    psStack_124 = psVar32;\n                    iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);\n                    psVar3 = psStack_128;\n                    psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);\n                    iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;\n                    if ((int)psVar32 < (int)pVVar5) break;\n                    psStack_128 = psStack_12c;\n                    psVar13 = psStack_124;\n                    psStack_124 = psVar3;\nLAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);\n                    iVar25 = iVar37;\n                    if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }\n                    iVar20 = (*pcStack_134)(puVar17,psStack_124);\n                    iVar25 = iVar25 + iVar20;\n                    psVar21 = psStack_f4;\n                    if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;\n                    (*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));\n                    iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;\n                    FStack_160.rc = (int)psStack_e8;\n                    (*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);\n                    psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);\n                    psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);\n                    (*pcStack_120)(&pFStack_110,&FStack_100);\n                    if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;\n                  }" { (expression_statement "psStack_128 = psStack_124;" (assignment_expression "psStack_128 = psStack_124" identifier = identifier) ;) (expression_statement "ppsVar19 = (sqlite3 **)psStack_124;" (assignment_expression "ppsVar19 = (sqlite3 **)psStack_124" identifier = (cast_expression "(sqlite3 **)psStack_124" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "psStack_124 = psVar32;" (assignment_expression "psStack_124 = psVar32" identifier = identifier) ;) (expression_statement "iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19);" (assignment_expression "iVar25 = (*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19)" identifier = (call_expression "(*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19)" (parenthesized_expression "(*pcStack_134)" ( (pointer_expression "*pcStack_134" * identifier) )) (argument_list "((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),\n                                            ppsVar19)" ( (cast_expression "(u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar32->pVfs + (int)&psVar7->pVfs)" ( (binary_expression "(int)&psVar32->pVfs + (int)&psVar7->pVfs" (cast_expression "(int)&psVar32->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar32->pVfs" & (field_expression "psVar32->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) ))) , identifier )))) ;) (expression_statement "psVar3 = psStack_128;" (assignment_expression "psVar3 = psStack_128" identifier = identifier) ;) (expression_statement "psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25);" (assignment_expression "psVar32 = (sqlite3 *)((int)&psStack_124->pVfs + iVar25)" identifier = (cast_expression "(sqlite3 *)((int)&psStack_124->pVfs + iVar25)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_124->pVfs + iVar25)" ( (binary_expression "(int)&psStack_124->pVfs + iVar25" (cast_expression "(int)&psStack_124->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_124->pVfs" & (field_expression "psStack_124->pVfs" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c;" (assignment_expression "iVar37 = (int)psStack_f4->aLimit + iVar37 + -0x6c" identifier = (binary_expression "(int)psStack_f4->aLimit + iVar37 + -0x6c" (binary_expression "(int)psStack_f4->aLimit + iVar37" (cast_expression "(int)psStack_f4->aLimit" ( (type_descriptor "int" primitive_type) ) (field_expression "psStack_f4->aLimit" identifier -> field_identifier)) + identifier) + number_literal)) ;) (if_statement "if ((int)psVar32 < (int)pVVar5) break;" if (parenthesized_expression "((int)psVar32 < (int)pVVar5)" ( (binary_expression "(int)psVar32 < (int)pVVar5" (cast_expression "(int)psVar32" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "psStack_128 = psStack_12c;" (assignment_expression "psStack_128 = psStack_12c" identifier = identifier) ;) (expression_statement "psVar13 = psStack_124;" (assignment_expression "psVar13 = psStack_124" identifier = identifier) ;) (expression_statement "psStack_124 = psVar3;" (assignment_expression "psStack_124 = psVar3" identifier = identifier) ;) (labeled_statement "LAB_000b8a74:\n                    puVar17 = (u8 *)(iVar37 + (int)psVar7);" statement_identifier : (expression_statement "puVar17 = (u8 *)(iVar37 + (int)psVar7);" (assignment_expression "puVar17 = (u8 *)(iVar37 + (int)psVar7)" identifier = (cast_expression "(u8 *)(iVar37 + (int)psVar7)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + (int)psVar7)" ( (binary_expression "iVar37 + (int)psVar7" identifier + (cast_expression "(int)psVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "iVar25 = iVar37;" (assignment_expression "iVar25 = iVar37" identifier = identifier) ;) (if_statement "if (psStack_12c != psVar13) {\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }" if (parenthesized_expression "(psStack_12c != psVar13)" ( (binary_expression "psStack_12c != psVar13" identifier != identifier) )) (compound_statement "{\n                      iVar25 = (*pcStack_134)(puVar17,psStack_124);\n                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;\n                      psStack_e4 = psStack_f4;\n                      puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);\n                      iVar25 = iVar37 + iVar25;\n                    }" { (expression_statement "iVar25 = (*pcStack_134)(puVar17,psStack_124);" (assignment_expression "iVar25 = (*pcStack_134)(puVar17,psStack_124)" identifier = (call_expression "(*pcStack_134)(puVar17,psStack_124)" (parenthesized_expression "(*pcStack_134)" ( (pointer_expression "*pcStack_134" * identifier) )) (argument_list "(puVar17,psStack_124)" ( identifier , identifier )))) ;) (if_statement "if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;" if (parenthesized_expression "((int)psStack_e4 < (int)psStack_f4)" ( (binary_expression "(int)psStack_e4 < (int)psStack_f4" (cast_expression "(int)psStack_e4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psStack_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b8afc;" goto statement_identifier ;)) (expression_statement "psStack_e4 = psStack_f4;" (assignment_expression "psStack_e4 = psStack_f4" identifier = identifier) ;) (expression_statement "puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7);" (assignment_expression "puVar17 = (u8 *)(iVar37 + iVar25 + (int)psVar7)" identifier = (cast_expression "(u8 *)(iVar37 + iVar25 + (int)psVar7)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + iVar25 + (int)psVar7)" ( (binary_expression "iVar37 + iVar25 + (int)psVar7" (binary_expression "iVar37 + iVar25" identifier + identifier) + (cast_expression "(int)psVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar25 = iVar37 + iVar25;" (assignment_expression "iVar25 = iVar37 + iVar25" identifier = (binary_expression "iVar37 + iVar25" identifier + identifier)) ;) })) (expression_statement "iVar20 = (*pcStack_134)(puVar17,psStack_124);" (assignment_expression "iVar20 = (*pcStack_134)(puVar17,psStack_124)" identifier = (call_expression "(*pcStack_134)(puVar17,psStack_124)" (parenthesized_expression "(*pcStack_134)" ( (pointer_expression "*pcStack_134" * identifier) )) (argument_list "(puVar17,psStack_124)" ( identifier , identifier )))) ;) (expression_statement "iVar25 = iVar25 + iVar20;" (assignment_expression "iVar25 = iVar25 + iVar20" identifier = (binary_expression "iVar25 + iVar20" identifier + identifier)) ;) (expression_statement "psVar21 = psStack_f4;" (assignment_expression "psVar21 = psStack_f4" identifier = identifier) ;) (if_statement "if ((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;" if (parenthesized_expression "((int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs))" ( (binary_expression "(int)pVVar5 < (int)(iVar25 + (int)&psStack_f4->pVfs)" (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(iVar25 + (int)&psStack_f4->pVfs)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar25 + (int)&psStack_f4->pVfs)" ( (binary_expression "iVar25 + (int)&psStack_f4->pVfs" identifier + (cast_expression "(int)&psStack_f4->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_f4->pVfs" & (field_expression "psStack_f4->pVfs" identifier -> field_identifier)))) )))) )) (goto_statement "goto LAB_000b8afc;" goto statement_identifier ;)) (expression_statement "(*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs));" (call_expression "(*pcStack_11c)(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs))" (parenthesized_expression "(*pcStack_11c)" ( (pointer_expression "*pcStack_11c" * identifier) )) (argument_list "(&pFStack_110,psStack_138,psStack_f4,\n                                   (u8 *)(iVar25 + (int)&psVar7->pVfs))" ( (pointer_expression "&pFStack_110" & identifier) , identifier , identifier , (cast_expression "(u8 *)(iVar25 + (int)&psVar7->pVfs)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + (int)&psVar7->pVfs)" ( (binary_expression "iVar25 + (int)&psVar7->pVfs" identifier + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) ))) ))) ;) (expression_statement "iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c;" (assignment_expression "iVar25 = (int)psStack_f4->aLimit + iVar25 + -0x6c" identifier = (binary_expression "(int)psStack_f4->aLimit + iVar25 + -0x6c" (binary_expression "(int)psStack_f4->aLimit + iVar25" (cast_expression "(int)psStack_f4->aLimit" ( (type_descriptor "int" primitive_type) ) (field_expression "psStack_f4->aLimit" identifier -> field_identifier)) + identifier) + number_literal)) ;) (expression_statement "FStack_160.rc = (int)psStack_e8;" (assignment_expression "FStack_160.rc = (int)psStack_e8" (field_expression "FStack_160.rc" identifier . field_identifier) = (cast_expression "(int)psStack_e8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4);" (call_expression "(*pcStack_13c)(&pFStack_110,&FStack_100,iStack_118,psStack_e4)" (parenthesized_expression "(*pcStack_13c)" ( (pointer_expression "*pcStack_13c" * identifier) )) (argument_list "(&pFStack_110,&FStack_100,iStack_118,psStack_e4)" ( (pointer_expression "&pFStack_110" & identifier) , (pointer_expression "&FStack_100" & identifier) , identifier , identifier ))) ;) (expression_statement "psVar21 = (sqlite3 *)(iVar25 + (int)psVar7);" (assignment_expression "psVar21 = (sqlite3 *)(iVar25 + (int)psVar7)" identifier = (cast_expression "(sqlite3 *)(iVar25 + (int)psVar7)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + (int)psVar7)" ( (binary_expression "iVar25 + (int)psVar7" identifier + (cast_expression "(int)psVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "psVar31 = (sqlite3 *)((int)psStack_128 - iVar25);" (assignment_expression "psVar31 = (sqlite3 *)((int)psStack_128 - iVar25)" identifier = (cast_expression "(sqlite3 *)((int)psStack_128 - iVar25)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psStack_128 - iVar25)" ( (binary_expression "(int)psStack_128 - iVar25" (cast_expression "(int)psStack_128" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "(*pcStack_120)(&pFStack_110,&FStack_100);" (call_expression "(*pcStack_120)(&pFStack_110,&FStack_100)" (parenthesized_expression "(*pcStack_120)" ( (pointer_expression "*pcStack_120" * identifier) )) (argument_list "(&pFStack_110,&FStack_100)" ( (pointer_expression "&pFStack_110" & identifier) , (pointer_expression "&FStack_100" & identifier) ))) ;) (if_statement "if (((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))\n                    goto LAB_000b84cc;" if (parenthesized_expression "(((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0))" ( (binary_expression "((int)psVar32 >= (int)pVVar5) || (pFStack_110 != (Fts5Parse *)0x0)" (parenthesized_expression "((int)psVar32 >= (int)pVVar5)" ( (binary_expression "(int)psVar32 >= (int)pVVar5" (cast_expression "(int)psVar32" ( (type_descriptor "int" primitive_type) ) identifier) >= (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(pFStack_110 != (Fts5Parse *)0x0)" ( (binary_expression "pFStack_110 != (Fts5Parse *)0x0" identifier != (cast_expression "(Fts5Parse *)0x0" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_000b84cc;" goto statement_identifier ;)) })) (expression_statement "psStack_114 = psStack_124;" (assignment_expression "psStack_114 = psStack_124" identifier = identifier) ;) (expression_statement "psStack_124 = psStack_128;" (assignment_expression "psStack_124 = psStack_128" identifier = identifier) ;) (expression_statement "(*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128);" (call_expression "(*pcStack_134)((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128)" (parenthesized_expression "(*pcStack_134)" ( (pointer_expression "*pcStack_134" * identifier) )) (argument_list "((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),psStack_128)" ( (cast_expression "(u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar32->pVfs + (int)&psVar7->pVfs)" ( (binary_expression "(int)&psVar32->pVfs + (int)&psVar7->pVfs" (cast_expression "(int)&psVar32->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar32->pVfs" & (field_expression "psVar32->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) ))) , identifier ))) ;) (expression_statement "psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4);" (assignment_expression "psStack_128 = (sqlite3 *)(iVar37 + (int)psStack_f4)" identifier = (cast_expression "(sqlite3 *)(iVar37 + (int)psStack_f4)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + (int)psStack_f4)" ( (binary_expression "iVar37 + (int)psStack_f4" identifier + (cast_expression "(int)psStack_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "psVar13 = psStack_114;" (assignment_expression "psVar13 = psStack_114" identifier = identifier) ;) (if_statement "if ((int)psStack_128 <= (int)psStack_12c) goto LAB_000b8a74;" if (parenthesized_expression "((int)psStack_128 <= (int)psStack_12c)" ( (binary_expression "(int)psStack_128 <= (int)psStack_12c" (cast_expression "(int)psStack_128" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)psStack_12c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b8a74;" goto statement_identifier ;)) (labeled_statement "LAB_000b8afc:\n                  pFStack_110 = (Fts5Parse *)0x10b;" statement_identifier : (expression_statement "pFStack_110 = (Fts5Parse *)0x10b;" (assignment_expression "pFStack_110 = (Fts5Parse *)0x10b" identifier = (cast_expression "(Fts5Parse *)0x10b" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (goto_statement "goto LAB_000b84cc;" goto statement_identifier ;) })) }))) }))) (expression_statement "pFStack_110 = (Fts5Parse *)0x10b;" (assignment_expression "pFStack_110 = (Fts5Parse *)0x10b" identifier = (cast_expression "(Fts5Parse *)0x10b" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFVar8 = pFStack_110;" (assignment_expression "pFVar8 = pFStack_110" identifier = identifier) ;) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;) })) (expression_statement "psVar21 = (sqlite3 *)&DAT_00000007;" (assignment_expression "psVar21 = (sqlite3 *)&DAT_00000007" identifier = (cast_expression "(sqlite3 *)&DAT_00000007" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "FStack_100.n = 0;" (assignment_expression "FStack_100.n = 0" (field_expression "FStack_100.n" identifier . field_identifier) = number_literal) ;) (expression_statement "psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c);" (assignment_expression "psVar31 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + 0xb5c)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc4) + 0xb5c)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc4) + 0xb5c" (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31);" (call_expression "sqlite3Fts5BufferAppendBlob((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31)" identifier (argument_list "((int *)&pFStack_110,&FStack_100,7,(u8 *)psVar31)" ( (cast_expression "(int *)&pFStack_110" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFStack_110" & identifier)) , (pointer_expression "&FStack_100" & identifier) , number_literal , (cast_expression "(u8 *)psVar31" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(puStack_148 + -0x7d78)" * (cast_expression "(int *)(puStack_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d78)" ( (binary_expression "puStack_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_108 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_12c = psVar32;\n        psVar31 = psVar32;\n        if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }\n        psStack_10c = psVar31;\n        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;\n        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);\n        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);\n        psVar21 = psStack_10c;\n        if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        pcVar38 = (code *)(iVar37 + 0x7c);\n        (*pcVar38)(psStack_138);\n      }" else (compound_statement "{\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_e8 = (sqlite3 *)0x0;\n        psStack_108 = (sqlite3 *)0x0;\n        psStack_e4 = (sqlite3 *)0x0;\n        psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_12c = psVar32;\n        psVar31 = psVar32;\n        if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }\n        psStack_10c = psVar31;\n        psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;\n        psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);\n        fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);\n        psVar21 = psStack_10c;\n        if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        pcVar38 = (code *)(iVar37 + 0x7c);\n        (*pcVar38)(psStack_138);\n      }" { (expression_statement "psStack_138 = (sqlite3 *)&psStack_e8;" (assignment_expression "psStack_138 = (sqlite3 *)&psStack_e8" identifier = (cast_expression "(sqlite3 *)&psStack_e8" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_e8" & identifier))) ;) (expression_statement "psStack_e8 = (sqlite3 *)0x0;" (assignment_expression "psStack_e8 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_108 = (sqlite3 *)0x0;" (assignment_expression "psStack_108 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_e4 = (sqlite3 *)0x0;" (assignment_expression "psStack_e4 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff);" (assignment_expression "psVar32 = (sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff)" identifier = (cast_expression "(sqlite3 *)\n                  ((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff)" ( (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3) & 0xffff" (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100 +\n                   (uint)*(byte *)((int)&psVar7->pVfs + 3)" (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 2) * 0x100" (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)&psVar7->pVfs + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar7->pVfs + 2)" ( (binary_expression "(int)&psVar7->pVfs + 2" (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier))) + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)((int)&psVar7->pVfs + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)&psVar7->pVfs + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar7->pVfs + 3)" ( (binary_expression "(int)&psVar7->pVfs + 3" (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier))) + number_literal) ))))) & number_literal) )))) ;) (expression_statement "pCStack_e0 = (CollSeq *)0x0;" (assignment_expression "pCStack_e0 = (CollSeq *)0x0" identifier = (cast_expression "(CollSeq *)0x0" ( (type_descriptor "CollSeq *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_12c = psVar32;" (assignment_expression "psStack_12c = psVar32" identifier = identifier) ;) (expression_statement "psVar31 = psVar32;" (assignment_expression "psVar31 = psVar32" identifier = identifier) ;) (if_statement "if ((int)psVar32 < (int)pVVar5) {\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }" if (parenthesized_expression "((int)psVar32 < (int)pVVar5)" ( (binary_expression "(int)psVar32 < (int)pVVar5" (cast_expression "(int)psVar32" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);\n          psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);\n          psVar31 = psStack_10c;\n        }" { (expression_statement "iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c);" (assignment_expression "iVar37 = (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c)" identifier = (call_expression "(*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))\n                             ((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c)" (parenthesized_expression "(*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c))" ( (pointer_expression "*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" * (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(puStack_148 + -0x7d7c)" * (cast_expression "(int *)(puStack_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d7c)" ( (binary_expression "puStack_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs),&psStack_10c)" ( (cast_expression "(u8 *)((int)&psVar32->pVfs + (int)&psVar7->pVfs)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar32->pVfs + (int)&psVar7->pVfs)" ( (binary_expression "(int)&psVar32->pVfs + (int)&psVar7->pVfs" (cast_expression "(int)&psVar32->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar32->pVfs" & (field_expression "psVar32->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) ))) , (pointer_expression "&psStack_10c" & identifier) )))) ;) (expression_statement "psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37);" (assignment_expression "psStack_12c = (sqlite3 *)((int)&psVar32->pVfs + iVar37)" identifier = (cast_expression "(sqlite3 *)((int)&psVar32->pVfs + iVar37)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar32->pVfs + iVar37)" ( (binary_expression "(int)&psVar32->pVfs + iVar37" (cast_expression "(int)&psVar32->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar32->pVfs" & (field_expression "psVar32->pVfs" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "psVar31 = psStack_10c;" (assignment_expression "psVar31 = psStack_10c" identifier = identifier) ;) })) (expression_statement "psStack_10c = psVar31;" (assignment_expression "psStack_10c = psVar31" identifier = identifier) ;) (expression_statement "psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked;" (assignment_expression "psVar31 = (sqlite3 *)&psStack_10c[-1].pNextBlocked" identifier = (cast_expression "(sqlite3 *)&psStack_10c[-1].pNextBlocked" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_10c[-1].pNextBlocked" & (field_expression "psStack_10c[-1].pNextBlocked" (subscript_expression "psStack_10c[-1]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34);" (assignment_expression "psStack_124 = (sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puStack_148 + -0x7cf4) + 0x7c34)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7cf4) + 0x7c34)" ( (binary_expression "*(int *)(puStack_148 + -0x7cf4) + 0x7c34" (pointer_expression "*(int *)(puStack_148 + -0x7cf4)" * (cast_expression "(int *)(puStack_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7cf4)" ( (binary_expression "puStack_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31);" (call_expression "fts5DecodeRowidList((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31)" identifier (argument_list "((int *)&pFStack_110,&FStack_100,(u8 *)&psVar7->pVdbe,(int)psVar31)" ( (cast_expression "(int *)&pFStack_110" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFStack_110" & identifier)) , (pointer_expression "&FStack_100" & identifier) , (cast_expression "(u8 *)&psVar7->pVdbe" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar7->pVdbe" & (field_expression "psVar7->pVdbe" identifier -> field_identifier))) , (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "psVar21 = psStack_10c;" (assignment_expression "psVar21 = psStack_10c" identifier = identifier) ;) (if_statement "if ((int)psStack_10c < (int)psVar32) {\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }" if (parenthesized_expression "((int)psStack_10c < (int)psVar32)" ( (binary_expression "(int)psStack_10c < (int)psVar32" (cast_expression "(int)psStack_10c" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psVar32" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);\n          pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);\n          pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);\n          do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }" { (expression_statement "pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c);" (assignment_expression "pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(puStack_148 + -0x7d7c)" * (cast_expression "(int *)(puStack_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d7c)" ( (binary_expression "puStack_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854);" (assignment_expression "pcStack_120 = (code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7cf4) + -0x3854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7cf4) + -0x3854)" ( (binary_expression "*(int *)(puStack_148 + -0x7cf4) + -0x3854" (pointer_expression "*(int *)(puStack_148 + -0x7cf4)" * (cast_expression "(int *)(puStack_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7cf4)" ( (binary_expression "puStack_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c);" (assignment_expression "pcStack_11c = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc4) + -0x4c6c)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc4) + -0x4c6c" (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          } while ((int)psVar21 < (int)psVar32);" do (compound_statement "{\n            psStack_128 = psVar21;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);\n            psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n            psStack_e4 = psStack_108;\n            (*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));\n            FStack_160.rc = (int)psStack_e8;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);\n            psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);\n            psVar3 = psVar32;\n            if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }\n            psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);\n            psStack_10c = psVar3;\n            (*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));\n            psVar21 = psStack_10c;\n            if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;\n            psStack_128 = psStack_10c;\n            iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);\n            psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);\n          }" { (expression_statement "psStack_128 = psVar21;" (assignment_expression "psStack_128 = psVar21" identifier = identifier) ;) (expression_statement "iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104);" (assignment_expression "iVar37 = (*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104)" identifier = (call_expression "(*pcStack_134)((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104)" (parenthesized_expression "(*pcStack_134)" ( (pointer_expression "*pcStack_134" * identifier) )) (argument_list "((u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs),&psStack_104)" ( (cast_expression "(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar21->pVfs + (int)&psVar7->pVfs)" ( (binary_expression "(int)&psVar21->pVfs + (int)&psVar7->pVfs" (cast_expression "(int)&psVar21->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar21->pVfs" & (field_expression "psVar21->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) ))) , (pointer_expression "&psStack_104" & identifier) )))) ;) (expression_statement "psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);" (assignment_expression "psStack_128 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37)" identifier = (cast_expression "(sqlite3 *)((int)&psStack_128->pVfs + iVar37)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_128->pVfs + iVar37)" ( (binary_expression "(int)&psStack_128->pVfs + iVar37" (cast_expression "(int)&psStack_128->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_128->pVfs" & (field_expression "psStack_128->pVfs" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "psStack_e4 = psStack_108;" (assignment_expression "psStack_e4 = psStack_108" identifier = identifier) ;) (expression_statement "(*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs));" (call_expression "(*pcStack_120)(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs))" (parenthesized_expression "(*pcStack_120)" ( (pointer_expression "*pcStack_120" * identifier) )) (argument_list "(&pFStack_110,psStack_138,psStack_104,\n                           (u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs))" ( (pointer_expression "&pFStack_110" & identifier) , identifier , identifier , (cast_expression "(u8 *)((int)&psStack_128->pVfs + (int)&psVar7->pVfs)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_128->pVfs + (int)&psVar7->pVfs)" ( (binary_expression "(int)&psStack_128->pVfs + (int)&psVar7->pVfs" (cast_expression "(int)&psStack_128->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_128->pVfs" & (field_expression "psStack_128->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) ))) ))) ;) (expression_statement "FStack_160.rc = (int)psStack_e8;" (assignment_expression "FStack_160.rc = (int)psStack_e8" (field_expression "FStack_160.rc" identifier . field_identifier) = (cast_expression "(int)psStack_e8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4);" (call_expression "(*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4)" (parenthesized_expression "(*pcStack_13c)" ( (pointer_expression "*pcStack_13c" * identifier) )) (argument_list "(&pFStack_110,&FStack_100,pcStack_11c,psStack_e4)" ( (pointer_expression "&pFStack_110" & identifier) , (pointer_expression "&FStack_100" & identifier) , identifier , identifier ))) ;) (expression_statement "psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs);" (assignment_expression "psVar21 = (sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs)" identifier = (cast_expression "(sqlite3 *)((int)&psStack_104->pVfs + (int)&psStack_128->pVfs)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_104->pVfs + (int)&psStack_128->pVfs)" ( (binary_expression "(int)&psStack_104->pVfs + (int)&psStack_128->pVfs" (cast_expression "(int)&psStack_104->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_104->pVfs" & (field_expression "psStack_104->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psStack_128->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_128->pVfs" & (field_expression "psStack_128->pVfs" identifier -> field_identifier)))) )))) ;) (expression_statement "psVar3 = psVar32;" (assignment_expression "psVar3 = psVar32" identifier = identifier) ;) (if_statement "if ((int)psStack_12c < (int)pVVar5) {\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }" if (parenthesized_expression "((int)psStack_12c < (int)pVVar5)" ( (binary_expression "(int)psStack_12c < (int)pVVar5" (cast_expression "(int)psStack_12c" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              psStack_128 = psVar21;\n              iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);\n              psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);\n              psVar21 = psStack_128;\n              psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);\n            }" { (expression_statement "psStack_128 = psVar21;" (assignment_expression "psStack_128 = psVar21" identifier = identifier) ;) (expression_statement "iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4);" (assignment_expression "iVar37 = (*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4)" identifier = (call_expression "(*pcStack_134)((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4)" (parenthesized_expression "(*pcStack_134)" ( (pointer_expression "*pcStack_134" * identifier) )) (argument_list "((u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs),\n                                      &psStack_f4)" ( (cast_expression "(u8 *)((int)&psStack_12c->pVfs + (int)&psVar7->pVfs)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_12c->pVfs + (int)&psVar7->pVfs)" ( (binary_expression "(int)&psStack_12c->pVfs + (int)&psVar7->pVfs" (cast_expression "(int)&psStack_12c->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_12c->pVfs" & (field_expression "psStack_12c->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) ))) , (pointer_expression "&psStack_f4" & identifier) )))) ;) (expression_statement "psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37);" (assignment_expression "psStack_12c = (sqlite3 *)((int)&psStack_12c->pVfs + iVar37)" identifier = (cast_expression "(sqlite3 *)((int)&psStack_12c->pVfs + iVar37)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_12c->pVfs + iVar37)" ( (binary_expression "(int)&psStack_12c->pVfs + iVar37" (cast_expression "(int)&psStack_12c->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_12c->pVfs" & (field_expression "psStack_12c->pVfs" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "psVar21 = psStack_128;" (assignment_expression "psVar21 = psStack_128" identifier = identifier) ;) (expression_statement "psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);" (assignment_expression "psVar3 = (sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs)" identifier = (cast_expression "(sqlite3 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs)" ( (binary_expression "(int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs" (cast_expression "(int)&psStack_f4->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_f4->pVfs" & (field_expression "psStack_f4->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psStack_10c->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_10c->pVfs" & (field_expression "psStack_10c->pVfs" identifier -> field_identifier)))) )))) ;) })) (expression_statement "psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21);" (assignment_expression "psVar31 = (sqlite3 *)((int)psVar3 - (int)psVar21)" identifier = (cast_expression "(sqlite3 *)((int)psVar3 - (int)psVar21)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar3 - (int)psVar21)" ( (binary_expression "(int)psVar3 - (int)psVar21" (cast_expression "(int)psVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)psVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "psStack_10c = psVar3;" (assignment_expression "psStack_10c = psVar3" identifier = identifier) ;) (expression_statement "(*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs));" (call_expression "(*(code *)psStack_124)\n                      (&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs))" (parenthesized_expression "(*(code *)psStack_124)" ( (pointer_expression "*(code *)psStack_124" * (cast_expression "(code *)psStack_124" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&pFStack_110,&FStack_100,(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs))" ( (pointer_expression "&pFStack_110" & identifier) , (pointer_expression "&FStack_100" & identifier) , (cast_expression "(u8 *)((int)&psVar21->pVfs + (int)&psVar7->pVfs)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar21->pVfs + (int)&psVar7->pVfs)" ( (binary_expression "(int)&psVar21->pVfs + (int)&psVar7->pVfs" (cast_expression "(int)&psVar21->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar21->pVfs" & (field_expression "psVar21->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) ))) ))) ;) (expression_statement "psVar21 = psStack_10c;" (assignment_expression "psVar21 = psStack_10c" identifier = identifier) ;) (if_statement "if ((int)psVar32 <= (int)psStack_10c) goto LAB_000b84cc;" if (parenthesized_expression "((int)psVar32 <= (int)psStack_10c)" ( (binary_expression "(int)psVar32 <= (int)psStack_10c" (cast_expression "(int)psVar32" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)psStack_10c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b84cc;" goto statement_identifier ;)) (expression_statement "psStack_128 = psStack_10c;" (assignment_expression "psStack_128 = psStack_10c" identifier = identifier) ;) (expression_statement "iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108);" (assignment_expression "iVar37 = (*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108)" identifier = (call_expression "(*pcStack_134)((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108)" (parenthesized_expression "(*pcStack_134)" ( (pointer_expression "*pcStack_134" * identifier) )) (argument_list "((u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs),\n                                    &psStack_108)" ( (cast_expression "(u8 *)((int)&psStack_10c->pVfs + (int)&psVar7->pVfs)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_10c->pVfs + (int)&psVar7->pVfs)" ( (binary_expression "(int)&psStack_10c->pVfs + (int)&psVar7->pVfs" (cast_expression "(int)&psStack_10c->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_10c->pVfs" & (field_expression "psStack_10c->pVfs" identifier -> field_identifier))) + (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier)))) ))) , (pointer_expression "&psStack_108" & identifier) )))) ;) (expression_statement "psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37);" (assignment_expression "psVar21 = (sqlite3 *)((int)&psStack_128->pVfs + iVar37)" identifier = (cast_expression "(sqlite3 *)((int)&psStack_128->pVfs + iVar37)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_128->pVfs + iVar37)" ( (binary_expression "(int)&psStack_128->pVfs + iVar37" (cast_expression "(int)&psStack_128->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_128->pVfs" & (field_expression "psStack_128->pVfs" identifier -> field_identifier))) + identifier) )))) ;) }) while (parenthesized_expression "((int)psVar21 < (int)psVar32)" ( (binary_expression "(int)psVar21 < (int)psVar32" (cast_expression "(int)psVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psVar32" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "iVar37 = *(int *)(puStack_148 + -0x7d78);" (assignment_expression "iVar37 = *(int *)(puStack_148 + -0x7d78)" identifier = (pointer_expression "*(int *)(puStack_148 + -0x7d78)" * (cast_expression "(int *)(puStack_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d78)" ( (binary_expression "puStack_148 + -0x7d78" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }" else (compound_statement "{\nLAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);\n        }" { (labeled_statement "LAB_000b84cc:\n          iVar37 = *(int *)(puStack_148 + -0x7d78);" statement_identifier : (expression_statement "iVar37 = *(int *)(puStack_148 + -0x7d78);" (assignment_expression "iVar37 = *(int *)(puStack_148 + -0x7d78)" identifier = (pointer_expression "*(int *)(puStack_148 + -0x7d78)" * (cast_expression "(int *)(puStack_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d78)" ( (binary_expression "puStack_148 + -0x7d78" identifier + number_literal) ))))) ;)) }))) (expression_statement "pcVar38 = (code *)(iVar37 + 0x7c);" (assignment_expression "pcVar38 = (code *)(iVar37 + 0x7c)" identifier = (cast_expression "(code *)(iVar37 + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x7c)" ( (binary_expression "iVar37 + 0x7c" identifier + number_literal) )))) ;) (expression_statement "(*pcVar38)(psStack_138);" (call_expression "(*pcVar38)(psStack_138)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(psStack_138)" ( identifier ))) ;) }))) (goto_statement "goto LAB_000b82e8;" goto statement_identifier ;) })) (if_statement "if ((uVar4 == 0) &&\n       (pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1)) {\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) {\nLAB_000b8528:\n        iVar37 = *(int *)(puStack_148 + -0x7d7c);\n        psStack_e8 = (sqlite3 *)&psStack_f4;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_dc = (sqlite3_mutex *)0x0;\n        iStack_d4 = 0;\n        psStack_d0 = (sqlite3 *)0x0;\n        uStack_cc = 0;\n        psStack_d8 = psStack_138;\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_f4 = psVar7;\n        pVStack_f0 = pVVar5;\n        (*(code *)(iVar37 + 0x687c))();\n        pFVar8 = pFStack_110;\n        if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7fc4);\n        do {\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        } while (pCStack_e0 == (CollSeq *)0x0);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pFVar8 = pFStack_110;\n        if ((int)pVVar5 < 1) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7de0);\n        iVar20 = *(int *)(puStack_148 + -0x7fc8);\n        iVar29 = *(int *)(puStack_148 + -0x7fc4);\n        iVar37 = 0;\n        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) goto LAB_000b8528;\n      psVar31 = (sqlite3 *)&psStack_e8;\n      psVar21 = (sqlite3 *)0x0;\n      psStack_e8 = (sqlite3 *)0x0;\n      pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5);\n      if (pFVar8 == (Fts5Parse *)0x0) {\n        psStack_138 = psStack_e8;\n        if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }\n        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);\n        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;\n        psStack_138 = psStack_e8;\n        pFVar8 = pFStack_110;\n        if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      pFStack_110 = pFVar8;\n      pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n    }" if (parenthesized_expression "((uVar4 == 0) &&\n       (pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1))" ( (binary_expression "(uVar4 == 0) &&\n       (pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1)" (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1)" ( (comma_expression "pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38), uVar12 == 1" (assignment_expression "pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(puStack_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(puStack_148 + -0x7cf4)" * (cast_expression "(int *)(puStack_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7cf4)" ( (binary_expression "puStack_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "uVar12 == 1" identifier == number_literal)) ))) )) (compound_statement "{\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) {\nLAB_000b8528:\n        iVar37 = *(int *)(puStack_148 + -0x7d7c);\n        psStack_e8 = (sqlite3 *)&psStack_f4;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_dc = (sqlite3_mutex *)0x0;\n        iStack_d4 = 0;\n        psStack_d0 = (sqlite3 *)0x0;\n        uStack_cc = 0;\n        psStack_d8 = psStack_138;\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_f4 = psVar7;\n        pVStack_f0 = pVVar5;\n        (*(code *)(iVar37 + 0x687c))();\n        pFVar8 = pFStack_110;\n        if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7fc4);\n        do {\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        } while (pCStack_e0 == (CollSeq *)0x0);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pFVar8 = pFStack_110;\n        if ((int)pVVar5 < 1) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7de0);\n        iVar20 = *(int *)(puStack_148 + -0x7fc8);\n        iVar29 = *(int *)(puStack_148 + -0x7fc4);\n        iVar37 = 0;\n        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n    }" { (expression_statement "psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4);" (assignment_expression "psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc4) + -0x4cc4)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc4) + -0x4cc4" (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);" (call_expression "sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21)" identifier (argument_list "((int *)&pFStack_110,&FStack_100,(char *)psVar21)" ( (cast_expression "(int *)&pFStack_110" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFStack_110" & identifier)) , (pointer_expression "&FStack_100" & identifier) , (cast_expression "(char *)psVar21" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (iVar25 < 0) {\nLAB_000b8528:\n        iVar37 = *(int *)(puStack_148 + -0x7d7c);\n        psStack_e8 = (sqlite3 *)&psStack_f4;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_dc = (sqlite3_mutex *)0x0;\n        iStack_d4 = 0;\n        psStack_d0 = (sqlite3 *)0x0;\n        uStack_cc = 0;\n        psStack_d8 = psStack_138;\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_f4 = psVar7;\n        pVStack_f0 = pVVar5;\n        (*(code *)(iVar37 + 0x687c))();\n        pFVar8 = pFStack_110;\n        if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7fc4);\n        do {\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        } while (pCStack_e0 == (CollSeq *)0x0);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pFVar8 = pFStack_110;\n        if ((int)pVVar5 < 1) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7de0);\n        iVar20 = *(int *)(puStack_148 + -0x7fc8);\n        iVar29 = *(int *)(puStack_148 + -0x7fc4);\n        iVar37 = 0;\n        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }" if (parenthesized_expression "(iVar25 < 0)" ( (binary_expression "iVar25 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000b8528:\n        iVar37 = *(int *)(puStack_148 + -0x7d7c);\n        psStack_e8 = (sqlite3 *)&psStack_f4;\n        psStack_e4 = (sqlite3 *)0x0;\n        pCStack_e0 = (CollSeq *)0x0;\n        psStack_dc = (sqlite3_mutex *)0x0;\n        iStack_d4 = 0;\n        psStack_d0 = (sqlite3 *)0x0;\n        uStack_cc = 0;\n        psStack_d8 = psStack_138;\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        psStack_f4 = psVar7;\n        pVStack_f0 = pVVar5;\n        (*(code *)(iVar37 + 0x687c))();\n        pFVar8 = pFStack_110;\n        if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7fc4);\n        do {\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        } while (pCStack_e0 == (CollSeq *)0x0);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }" { (labeled_statement "LAB_000b8528:\n        iVar37 = *(int *)(puStack_148 + -0x7d7c);" statement_identifier : (expression_statement "iVar37 = *(int *)(puStack_148 + -0x7d7c);" (assignment_expression "iVar37 = *(int *)(puStack_148 + -0x7d7c)" identifier = (pointer_expression "*(int *)(puStack_148 + -0x7d7c)" * (cast_expression "(int *)(puStack_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d7c)" ( (binary_expression "puStack_148 + -0x7d7c" identifier + number_literal) ))))) ;)) (expression_statement "psStack_e8 = (sqlite3 *)&psStack_f4;" (assignment_expression "psStack_e8 = (sqlite3 *)&psStack_f4" identifier = (cast_expression "(sqlite3 *)&psStack_f4" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_f4" & identifier))) ;) (expression_statement "psStack_e4 = (sqlite3 *)0x0;" (assignment_expression "psStack_e4 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCStack_e0 = (CollSeq *)0x0;" (assignment_expression "pCStack_e0 = (CollSeq *)0x0" identifier = (cast_expression "(CollSeq *)0x0" ( (type_descriptor "CollSeq *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_dc = (sqlite3_mutex *)0x0;" (assignment_expression "psStack_dc = (sqlite3_mutex *)0x0" identifier = (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_d4 = 0;" (assignment_expression "iStack_d4 = 0" identifier = number_literal) ;) (expression_statement "psStack_d0 = (sqlite3 *)0x0;" (assignment_expression "psStack_d0 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_cc = 0;" (assignment_expression "uStack_cc = 0" identifier = number_literal) ;) (expression_statement "psStack_d8 = psStack_138;" (assignment_expression "psStack_d8 = psStack_138" identifier = identifier) ;) (expression_statement "psStack_138 = (sqlite3 *)&psStack_e8;" (assignment_expression "psStack_138 = (sqlite3 *)&psStack_e8" identifier = (cast_expression "(sqlite3 *)&psStack_e8" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_e8" & identifier))) ;) (expression_statement "psStack_f4 = psVar7;" (assignment_expression "psStack_f4 = psVar7" identifier = identifier) ;) (expression_statement "pVStack_f0 = pVVar5;" (assignment_expression "pVStack_f0 = pVVar5" identifier = identifier) ;) (expression_statement "(*(code *)(iVar37 + 0x687c))();" (call_expression "(*(code *)(iVar37 + 0x687c))()" (parenthesized_expression "(*(code *)(iVar37 + 0x687c))" ( (pointer_expression "*(code *)(iVar37 + 0x687c)" * (cast_expression "(code *)(iVar37 + 0x687c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x687c)" ( (binary_expression "iVar37 + 0x687c" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "pFVar8 = pFStack_110;" (assignment_expression "pFVar8 = pFStack_110" identifier = identifier) ;) (if_statement "if (pCStack_e0 != (CollSeq *)0x0) goto LAB_000b8260;" if (parenthesized_expression "(pCStack_e0 != (CollSeq *)0x0)" ( (binary_expression "pCStack_e0 != (CollSeq *)0x0" identifier != (cast_expression "(CollSeq *)0x0" ( (type_descriptor "CollSeq *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;)) (expression_statement "iVar25 = *(int *)(puStack_148 + -0x7fc4);" (assignment_expression "iVar25 = *(int *)(puStack_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) ))))) ;) (do_statement "do {\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        } while (pCStack_e0 == (CollSeq *)0x0);" do (compound_statement "{\n          FStack_160.nPhrase = uStack_cc;\n          FStack_160.rc = (int)psStack_d0;\n          psVar21 = (sqlite3 *)(iVar25 + -0x4cac);\n          psVar31 = psStack_d8;\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          (*(code *)(iVar37 + 0x687c))(psStack_138);\n        }" { (expression_statement "FStack_160.nPhrase = uStack_cc;" (assignment_expression "FStack_160.nPhrase = uStack_cc" (field_expression "FStack_160.nPhrase" identifier . field_identifier) = identifier) ;) (expression_statement "FStack_160.rc = (int)psStack_d0;" (assignment_expression "FStack_160.rc = (int)psStack_d0" (field_expression "FStack_160.rc" identifier . field_identifier) = (cast_expression "(int)psStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "psVar21 = (sqlite3 *)(iVar25 + -0x4cac);" (assignment_expression "psVar21 = (sqlite3 *)(iVar25 + -0x4cac)" identifier = (cast_expression "(sqlite3 *)(iVar25 + -0x4cac)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x4cac)" ( (binary_expression "iVar25 + -0x4cac" identifier + number_literal) )))) ;) (expression_statement "psVar31 = psStack_d8;" (assignment_expression "psVar31 = psStack_d8" identifier = identifier) ;) (expression_statement "(*pcStack_13c)(&pFStack_110,&FStack_100);" (call_expression "(*pcStack_13c)(&pFStack_110,&FStack_100)" (parenthesized_expression "(*pcStack_13c)" ( (pointer_expression "*pcStack_13c" * identifier) )) (argument_list "(&pFStack_110,&FStack_100)" ( (pointer_expression "&pFStack_110" & identifier) , (pointer_expression "&FStack_100" & identifier) ))) ;) (expression_statement "(*(code *)(iVar37 + 0x687c))(psStack_138);" (call_expression "(*(code *)(iVar37 + 0x687c))(psStack_138)" (parenthesized_expression "(*(code *)(iVar37 + 0x687c))" ( (pointer_expression "*(code *)(iVar37 + 0x687c)" * (cast_expression "(code *)(iVar37 + 0x687c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x687c)" ( (binary_expression "iVar37 + 0x687c" identifier + number_literal) )))) )) (argument_list "(psStack_138)" ( identifier ))) ;) }) while (parenthesized_expression "(pCStack_e0 == (CollSeq *)0x0)" ( (binary_expression "pCStack_e0 == (CollSeq *)0x0" identifier == (cast_expression "(CollSeq *)0x0" ( (type_descriptor "CollSeq *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(puStack_148 + -0x7d78)" * (cast_expression "(int *)(puStack_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d78)" ( (binary_expression "puStack_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        pFVar8 = pFStack_110;\n        if ((int)pVVar5 < 1) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7de0);\n        iVar20 = *(int *)(puStack_148 + -0x7fc8);\n        iVar29 = *(int *)(puStack_148 + -0x7fc4);\n        iVar37 = 0;\n        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }" else (compound_statement "{\n        pFVar8 = pFStack_110;\n        if ((int)pVVar5 < 1) goto LAB_000b8260;\n        iVar25 = *(int *)(puStack_148 + -0x7de0);\n        iVar20 = *(int *)(puStack_148 + -0x7fc8);\n        iVar29 = *(int *)(puStack_148 + -0x7fc4);\n        iVar37 = 0;\n        psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);\n        psStack_138 = (sqlite3 *)&psStack_e8;\n        do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);\n        pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n      }" { (expression_statement "pFVar8 = pFStack_110;" (assignment_expression "pFVar8 = pFStack_110" identifier = identifier) ;) (if_statement "if ((int)pVVar5 < 1) goto LAB_000b8260;" if (parenthesized_expression "((int)pVVar5 < 1)" ( (binary_expression "(int)pVVar5 < 1" (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;)) (expression_statement "iVar25 = *(int *)(puStack_148 + -0x7de0);" (assignment_expression "iVar25 = *(int *)(puStack_148 + -0x7de0)" identifier = (pointer_expression "*(int *)(puStack_148 + -0x7de0)" * (cast_expression "(int *)(puStack_148 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7de0)" ( (binary_expression "puStack_148 + -0x7de0" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(puStack_148 + -0x7fc8);" (assignment_expression "iVar20 = *(int *)(puStack_148 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_148 + -0x7fc8)" * (cast_expression "(int *)(puStack_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc8)" ( (binary_expression "puStack_148 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(puStack_148 + -0x7fc4);" (assignment_expression "iVar29 = *(int *)(puStack_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) (expression_statement "psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8);" (assignment_expression "psVar32 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x30a8)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc8) + 0x30a8)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc8) + 0x30a8" (pointer_expression "*(int *)(puStack_148 + -0x7fc8)" * (cast_expression "(int *)(puStack_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc8)" ( (binary_expression "puStack_148 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "psStack_138 = (sqlite3 *)&psStack_e8;" (assignment_expression "psStack_138 = (sqlite3 *)&psStack_e8" identifier = (cast_expression "(sqlite3 *)&psStack_e8" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_e8" & identifier))) ;) (do_statement "do {\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        } while (iVar37 < (int)pVVar5);" do (compound_statement "{\n          psVar31 = psVar32;\n          iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);\n          iVar37 = iVar37 + iVar9;\n          FStack_160.rc = (int)psStack_e4;\n          psVar21 = (sqlite3 *)(iVar20 + 0x2db4);\n          (*pcStack_13c)(&pFStack_110,&FStack_100);\n          psVar32 = (sqlite3 *)(iVar29 + -0x4854);\n        }" { (expression_statement "psVar31 = psVar32;" (assignment_expression "psVar31 = psVar32" identifier = identifier) ;) (expression_statement "iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138);" (assignment_expression "iVar9 = (*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138)" identifier = (call_expression "(*(code *)(iVar25 + -0x80))((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138)" (parenthesized_expression "(*(code *)(iVar25 + -0x80))" ( (pointer_expression "*(code *)(iVar25 + -0x80)" * (cast_expression "(code *)(iVar25 + -0x80)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x80)" ( (binary_expression "iVar25 + -0x80" identifier + number_literal) )))) )) (argument_list "((u8 *)((int)&psVar7->pVfs + iVar37),psStack_138)" ( (cast_expression "(u8 *)((int)&psVar7->pVfs + iVar37)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar7->pVfs + iVar37)" ( (binary_expression "(int)&psVar7->pVfs + iVar37" (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier))) + identifier) ))) , identifier )))) ;) (expression_statement "iVar37 = iVar37 + iVar9;" (assignment_expression "iVar37 = iVar37 + iVar9" identifier = (binary_expression "iVar37 + iVar9" identifier + identifier)) ;) (expression_statement "FStack_160.rc = (int)psStack_e4;" (assignment_expression "FStack_160.rc = (int)psStack_e4" (field_expression "FStack_160.rc" identifier . field_identifier) = (cast_expression "(int)psStack_e4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "psVar21 = (sqlite3 *)(iVar20 + 0x2db4);" (assignment_expression "psVar21 = (sqlite3 *)(iVar20 + 0x2db4)" identifier = (cast_expression "(sqlite3 *)(iVar20 + 0x2db4)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2db4)" ( (binary_expression "iVar20 + 0x2db4" identifier + number_literal) )))) ;) (expression_statement "(*pcStack_13c)(&pFStack_110,&FStack_100);" (call_expression "(*pcStack_13c)(&pFStack_110,&FStack_100)" (parenthesized_expression "(*pcStack_13c)" ( (pointer_expression "*pcStack_13c" * identifier) )) (argument_list "(&pFStack_110,&FStack_100)" ( (pointer_expression "&pFStack_110" & identifier) , (pointer_expression "&FStack_100" & identifier) ))) ;) (expression_statement "psVar32 = (sqlite3 *)(iVar29 + -0x4854);" (assignment_expression "psVar32 = (sqlite3 *)(iVar29 + -0x4854)" identifier = (cast_expression "(sqlite3 *)(iVar29 + -0x4854)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x4854)" ( (binary_expression "iVar29 + -0x4854" identifier + number_literal) )))) ;) }) while (parenthesized_expression "(iVar37 < (int)pVVar5)" ( (binary_expression "iVar37 < (int)pVVar5" identifier < (cast_expression "(int)pVVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(puStack_148 + -0x7d78)" * (cast_expression "(int *)(puStack_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d78)" ( (binary_expression "puStack_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }))) }) (else_clause "else {\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) goto LAB_000b8528;\n      psVar31 = (sqlite3 *)&psStack_e8;\n      psVar21 = (sqlite3 *)0x0;\n      psStack_e8 = (sqlite3 *)0x0;\n      pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5);\n      if (pFVar8 == (Fts5Parse *)0x0) {\n        psStack_138 = psStack_e8;\n        if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }\n        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);\n        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;\n        psStack_138 = psStack_e8;\n        pFVar8 = pFStack_110;\n        if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      pFStack_110 = pFVar8;\n      pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n    }" else (compound_statement "{\n      pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);\n      psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8);\n      sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);\n      if (iVar25 < 0) goto LAB_000b8528;\n      psVar31 = (sqlite3 *)&psStack_e8;\n      psVar21 = (sqlite3 *)0x0;\n      psStack_e8 = (sqlite3 *)0x0;\n      pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5);\n      if (pFVar8 == (Fts5Parse *)0x0) {\n        psStack_138 = psStack_e8;\n        if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }\n        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);\n        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;\n        psStack_138 = psStack_e8;\n        pFVar8 = pFStack_110;\n        if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      pFStack_110 = pFVar8;\n      pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n    }" { (expression_statement "pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38);" (assignment_expression "pcStack_13c = (code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(puStack_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(puStack_148 + -0x7cf4)" * (cast_expression "(int *)(puStack_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7cf4)" ( (binary_expression "puStack_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8);" (assignment_expression "psVar21 = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc4) + -0x4cb8)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc4) + -0x4cb8" (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21);" (call_expression "sqlite3Fts5BufferAppendPrintf((int *)&pFStack_110,&FStack_100,(char *)psVar21)" identifier (argument_list "((int *)&pFStack_110,&FStack_100,(char *)psVar21)" ( (cast_expression "(int *)&pFStack_110" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFStack_110" & identifier)) , (pointer_expression "&FStack_100" & identifier) , (cast_expression "(char *)psVar21" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (iVar25 < 0) goto LAB_000b8528;" if (parenthesized_expression "(iVar25 < 0)" ( (binary_expression "iVar25 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000b8528;" goto statement_identifier ;)) (expression_statement "psVar31 = (sqlite3 *)&psStack_e8;" (assignment_expression "psVar31 = (sqlite3 *)&psStack_e8" identifier = (cast_expression "(sqlite3 *)&psStack_e8" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_e8" & identifier))) ;) (expression_statement "psVar21 = (sqlite3 *)0x0;" (assignment_expression "psVar21 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_e8 = (sqlite3 *)0x0;" (assignment_expression "psStack_e8 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5);" (assignment_expression "pFVar8 = (Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5)" identifier = (cast_expression "(Fts5Parse *)(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5)" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))(psVar7,pVVar5)" (parenthesized_expression "(*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac))" ( (pointer_expression "*(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac)" * (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d68) + 0x52ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d68) + 0x52ac)" ( (binary_expression "*(int *)(puStack_148 + -0x7d68) + 0x52ac" (pointer_expression "*(int *)(puStack_148 + -0x7d68)" * (cast_expression "(int *)(puStack_148 + -0x7d68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d68)" ( (binary_expression "puStack_148 + -0x7d68" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar7,pVVar5)" ( identifier , identifier ))))) ;) (if_statement "if (pFVar8 == (Fts5Parse *)0x0) {\n        psStack_138 = psStack_e8;\n        if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }\n        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);\n        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;\n        psStack_138 = psStack_e8;\n        pFVar8 = pFStack_110;\n        if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }" if (parenthesized_expression "(pFVar8 == (Fts5Parse *)0x0)" ( (binary_expression "pFVar8 == (Fts5Parse *)0x0" identifier == (cast_expression "(Fts5Parse *)0x0" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        psStack_138 = psStack_e8;\n        if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }\n        psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);\n        psStack_e8->pVfs = (sqlite3_vfs *)psVar32;\n        psStack_138 = psStack_e8;\n        pFVar8 = pFStack_110;\n        if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }" { (expression_statement "psStack_138 = psStack_e8;" (assignment_expression "psStack_138 = psStack_e8" identifier = identifier) ;) (if_statement "if (0 < psStack_e8->nDb) {\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }" if (parenthesized_expression "(0 < psStack_e8->nDb)" ( (binary_expression "0 < psStack_e8->nDb" number_literal < (field_expression "psStack_e8->nDb" identifier -> field_identifier)) )) (compound_statement "{\n          puVar30 = &psStack_e8->mDbFlags;\n          iVar37 = *(int *)(puStack_148 + -0x7fc4);\n          psVar32 = (sqlite3 *)0x0;\n          pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);\n          psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);\n          do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);\n          psStack_138 = psStack_e8;\n          pFVar8 = pFStack_110;\n          if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;\n        }" { (expression_statement "puVar30 = &psStack_e8->mDbFlags;" (assignment_expression "puVar30 = &psStack_e8->mDbFlags" identifier = (pointer_expression "&psStack_e8->mDbFlags" & (field_expression "psStack_e8->mDbFlags" identifier -> field_identifier))) ;) (expression_statement "iVar37 = *(int *)(puStack_148 + -0x7fc4);" (assignment_expression "iVar37 = *(int *)(puStack_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "psVar32 = (sqlite3 *)0x0;" (assignment_expression "psVar32 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0);" (assignment_expression "pcStack_134 = (code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc4) + -0x4ca0)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc4) + -0x4ca0" (pointer_expression "*(int *)(puStack_148 + -0x7fc4)" * (cast_expression "(int *)(puStack_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc4)" ( (binary_expression "puStack_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300);" (assignment_expression "psStack_12c = (sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puStack_148 + -0x7fc8) + 0x1300)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7fc8) + 0x1300)" ( (binary_expression "*(int *)(puStack_148 + -0x7fc8) + 0x1300" (pointer_expression "*(int *)(puStack_148 + -0x7fc8)" * (cast_expression "(int *)(puStack_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7fc8)" ( (binary_expression "puStack_148 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          } while ((int)psVar32 < psStack_138->nDb);" do (compound_statement "{\n            FStack_160.nPhrase = puVar30[1];\n            FStack_160.rc = *puVar30;\n            psVar31 = psVar32;\n            (*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);\n            if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }\n            psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);\n            puVar30 = puVar30 + 3;\n            psVar21 = psStack_12c;\n            (*pcStack_13c)(&pFStack_110,&FStack_100);\n          }" { (expression_statement "FStack_160.nPhrase = puVar30[1];" (assignment_expression "FStack_160.nPhrase = puVar30[1]" (field_expression "FStack_160.nPhrase" identifier . field_identifier) = (subscript_expression "puVar30[1]" identifier [ number_literal ])) ;) (expression_statement "FStack_160.rc = *puVar30;" (assignment_expression "FStack_160.rc = *puVar30" (field_expression "FStack_160.rc" identifier . field_identifier) = (pointer_expression "*puVar30" * identifier)) ;) (expression_statement "psVar31 = psVar32;" (assignment_expression "psVar31 = psVar32" identifier = identifier) ;) (expression_statement "(*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134);" (call_expression "(*pcStack_13c)(&pFStack_110,&FStack_100,pcStack_134)" (parenthesized_expression "(*pcStack_13c)" ( (pointer_expression "*pcStack_13c" * identifier) )) (argument_list "(&pFStack_110,&FStack_100,pcStack_134)" ( (pointer_expression "&pFStack_110" & identifier) , (pointer_expression "&FStack_100" & identifier) , identifier ))) ;) (if_statement "if (0 < (int)puVar30[1]) {\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }" if (parenthesized_expression "(0 < (int)puVar30[1])" ( (binary_expression "0 < (int)puVar30[1]" number_literal < (cast_expression "(int)puVar30[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) )) (compound_statement "{\n              iVar25 = 0;\n              iVar20 = 0;\n              do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);\n            }" { (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (do_statement "do {\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              } while (iVar25 < (int)puVar30[1]);" do (compound_statement "{\n                puVar28 = (undefined4 *)(puVar30[2] + iVar20);\n                iVar25 = iVar25 + 1;\n                iVar20 = iVar20 + 0xc;\n                FStack_160.nPhrase = puVar28[2];\n                psVar31 = (sqlite3 *)*puVar28;\n                FStack_160.rc = puVar28[1];\n                (*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);\n              }" { (expression_statement "puVar28 = (undefined4 *)(puVar30[2] + iVar20);" (assignment_expression "puVar28 = (undefined4 *)(puVar30[2] + iVar20)" identifier = (cast_expression "(undefined4 *)(puVar30[2] + iVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30[2] + iVar20)" ( (binary_expression "puVar30[2] + iVar20" (subscript_expression "puVar30[2]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "iVar25 = iVar25 + 1;" (assignment_expression "iVar25 = iVar25 + 1" identifier = (binary_expression "iVar25 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = iVar20 + 0xc;" (assignment_expression "iVar20 = iVar20 + 0xc" identifier = (binary_expression "iVar20 + 0xc" identifier + number_literal)) ;) (expression_statement "FStack_160.nPhrase = puVar28[2];" (assignment_expression "FStack_160.nPhrase = puVar28[2]" (field_expression "FStack_160.nPhrase" identifier . field_identifier) = (subscript_expression "puVar28[2]" identifier [ number_literal ])) ;) (expression_statement "psVar31 = (sqlite3 *)*puVar28;" (assignment_expression "psVar31 = (sqlite3 *)*puVar28" identifier = (cast_expression "(sqlite3 *)*puVar28" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar28" * identifier))) ;) (expression_statement "FStack_160.rc = puVar28[1];" (assignment_expression "FStack_160.rc = puVar28[1]" (field_expression "FStack_160.rc" identifier . field_identifier) = (subscript_expression "puVar28[1]" identifier [ number_literal ])) ;) (expression_statement "(*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84);" (call_expression "(*pcStack_13c)(&pFStack_110,&FStack_100,iVar37 + -0x4c84)" (parenthesized_expression "(*pcStack_13c)" ( (pointer_expression "*pcStack_13c" * identifier) )) (argument_list "(&pFStack_110,&FStack_100,iVar37 + -0x4c84)" ( (pointer_expression "&pFStack_110" & identifier) , (pointer_expression "&FStack_100" & identifier) , (binary_expression "iVar37 + -0x4c84" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(iVar25 < (int)puVar30[1])" ( (binary_expression "iVar25 < (int)puVar30[1]" identifier < (cast_expression "(int)puVar30[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) )) ;) })) (expression_statement "psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1);" (assignment_expression "psVar32 = (sqlite3 *)((int)&psVar32->pVfs + 1)" identifier = (cast_expression "(sqlite3 *)((int)&psVar32->pVfs + 1)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar32->pVfs + 1)" ( (binary_expression "(int)&psVar32->pVfs + 1" (cast_expression "(int)&psVar32->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar32->pVfs" & (field_expression "psVar32->pVfs" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "puVar30 = puVar30 + 3;" (assignment_expression "puVar30 = puVar30 + 3" identifier = (binary_expression "puVar30 + 3" identifier + number_literal)) ;) (expression_statement "psVar21 = psStack_12c;" (assignment_expression "psVar21 = psStack_12c" identifier = identifier) ;) (expression_statement "(*pcStack_13c)(&pFStack_110,&FStack_100);" (call_expression "(*pcStack_13c)(&pFStack_110,&FStack_100)" (parenthesized_expression "(*pcStack_13c)" ( (pointer_expression "*pcStack_13c" * identifier) )) (argument_list "(&pFStack_110,&FStack_100)" ( (pointer_expression "&pFStack_110" & identifier) , (pointer_expression "&FStack_100" & identifier) ))) ;) }) while (parenthesized_expression "((int)psVar32 < psStack_138->nDb)" ( (binary_expression "(int)psVar32 < psStack_138->nDb" (cast_expression "(int)psVar32" ( (type_descriptor "int" primitive_type) ) identifier) < (field_expression "psStack_138->nDb" identifier -> field_identifier)) )) ;) (expression_statement "psStack_138 = psStack_e8;" (assignment_expression "psStack_138 = psStack_e8" identifier = identifier) ;) (expression_statement "pFVar8 = pFStack_110;" (assignment_expression "pFVar8 = pFStack_110" identifier = identifier) ;) (if_statement "if (psStack_e8 == (sqlite3 *)0x0) goto LAB_000b8260;" if (parenthesized_expression "(psStack_e8 == (sqlite3 *)0x0)" ( (binary_expression "psStack_e8 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;)) })) (expression_statement "psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3);" (assignment_expression "psVar32 = (sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3)" identifier = (cast_expression "(sqlite3 *)((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3)" ( (binary_expression "(int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked + 3" (cast_expression "(int)&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked" & (field_expression "((sqlite3 *)psStack_e8->pVfs)[-1].pNextBlocked" (subscript_expression "((sqlite3 *)psStack_e8->pVfs)[-1]" (parenthesized_expression "((sqlite3 *)psStack_e8->pVfs)" ( (cast_expression "(sqlite3 *)psStack_e8->pVfs" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psStack_e8->pVfs" identifier -> field_identifier)) )) [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "psStack_e8->pVfs = (sqlite3_vfs *)psVar32;" (assignment_expression "psStack_e8->pVfs = (sqlite3_vfs *)psVar32" (field_expression "psStack_e8->pVfs" identifier -> field_identifier) = (cast_expression "(sqlite3_vfs *)psVar32" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psStack_138 = psStack_e8;" (assignment_expression "psStack_138 = psStack_e8" identifier = identifier) ;) (expression_statement "pFVar8 = pFStack_110;" (assignment_expression "pFVar8 = pFStack_110" identifier = identifier) ;) (if_statement "if ((int)psVar32 < 1) {\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }" if (parenthesized_expression "((int)psVar32 < 1)" ( (binary_expression "(int)psVar32 < 1" (cast_expression "(int)psVar32" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          (*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);\n          pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }" { (expression_statement "(*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8);" (call_expression "(*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))(psStack_e8)" (parenthesized_expression "(*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c))" ( (pointer_expression "*(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c)" * (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d7c) + 0x380c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d7c) + 0x380c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d7c) + 0x380c" (pointer_expression "*(int *)(puStack_148 + -0x7d7c)" * (cast_expression "(int *)(puStack_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d7c)" ( (binary_expression "puStack_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psStack_e8)" ( identifier ))) ;) (expression_statement "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(puStack_148 + -0x7d78)" * (cast_expression "(int *)(puStack_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d78)" ( (binary_expression "puStack_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000b82e8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000b8260:\n      pFStack_110 = pFVar8;" statement_identifier : (expression_statement "pFStack_110 = pFVar8;" (assignment_expression "pFStack_110 = pFVar8" identifier = identifier) ;)) (expression_statement "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(puStack_148 + -0x7d78)" * (cast_expression "(int *)(puStack_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d78)" ( (binary_expression "puStack_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "(**(code **)(puStack_148 + -0x7fb4))(psVar7);" (call_expression "(**(code **)(puStack_148 + -0x7fb4))(psVar7)" (parenthesized_expression "(**(code **)(puStack_148 + -0x7fb4))" ( (pointer_expression "**(code **)(puStack_148 + -0x7fb4)" * (pointer_expression "*(code **)(puStack_148 + -0x7fb4)" * (cast_expression "(code **)(puStack_148 + -0x7fb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_148 + -0x7fb4)" ( (binary_expression "puStack_148 + -0x7fb4" identifier + number_literal) ))))) )) (argument_list "(psVar7)" ( identifier ))) ;) (if_statement "if (pFStack_110 == (Fts5Parse *)0x0) goto LAB_000b8300;" if (parenthesized_expression "(pFStack_110 == (Fts5Parse *)0x0)" ( (binary_expression "pFStack_110 == (Fts5Parse *)0x0" identifier == (cast_expression "(Fts5Parse *)0x0" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b8300;" goto statement_identifier ;)) (labeled_statement "LAB_000b8280:\n    pFVar8 = pFStack_110;" statement_identifier : (expression_statement "pFVar8 = pFStack_110;" (assignment_expression "pFVar8 = pFStack_110" identifier = identifier) ;)) (expression_statement "(**(code **)(puStack_148 + -0x7f4c))(pvVar15);" (call_expression "(**(code **)(puStack_148 + -0x7f4c))(pvVar15)" (parenthesized_expression "(**(code **)(puStack_148 + -0x7f4c))" ( (pointer_expression "**(code **)(puStack_148 + -0x7f4c)" * (pointer_expression "*(code **)(puStack_148 + -0x7f4c)" * (cast_expression "(code **)(puStack_148 + -0x7f4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_148 + -0x7f4c)" ( (binary_expression "puStack_148 + -0x7f4c" identifier + number_literal) ))))) )) (argument_list "(pvVar15)" ( identifier ))) ;) }) (else_clause "else {\nLAB_000b82dc:\n    psVar7 = (sqlite3 *)0x0;\n    pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 != (Fts5Parse *)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pFVar8 = (Fts5Parse *)((int)pvVar15 + 0x14);\n    FStack_160.nPhrase = 0xffffffff;\n    FStack_160.rc = 1;\n    psVar21 = (sqlite3 *)FStack_100.p;\n    psVar31 = (sqlite3 *)FStack_100.n;\n    (*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0))(pvVar15);\n  }" else (compound_statement "{\nLAB_000b82dc:\n    psVar7 = (sqlite3 *)0x0;\n    pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);\n    if (pFStack_110 != (Fts5Parse *)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pFVar8 = (Fts5Parse *)((int)pvVar15 + 0x14);\n    FStack_160.nPhrase = 0xffffffff;\n    FStack_160.rc = 1;\n    psVar21 = (sqlite3 *)FStack_100.p;\n    psVar31 = (sqlite3 *)FStack_100.n;\n    (*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0))(pvVar15);\n  }" { (labeled_statement "LAB_000b82dc:\n    psVar7 = (sqlite3 *)0x0;" statement_identifier : (expression_statement "psVar7 = (sqlite3 *)0x0;" (assignment_expression "psVar7 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar38 = (code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(puStack_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(puStack_148 + -0x7d78)" * (cast_expression "(int *)(puStack_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d78)" ( (binary_expression "puStack_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000b82e8:\n    (**(code **)(puStack_148 + -0x7fb4))(psVar7);" statement_identifier : (expression_statement "(**(code **)(puStack_148 + -0x7fb4))(psVar7);" (call_expression "(**(code **)(puStack_148 + -0x7fb4))(psVar7)" (parenthesized_expression "(**(code **)(puStack_148 + -0x7fb4))" ( (pointer_expression "**(code **)(puStack_148 + -0x7fb4)" * (pointer_expression "*(code **)(puStack_148 + -0x7fb4)" * (cast_expression "(code **)(puStack_148 + -0x7fb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_148 + -0x7fb4)" ( (binary_expression "puStack_148 + -0x7fb4" identifier + number_literal) ))))) )) (argument_list "(psVar7)" ( identifier ))) ;)) (if_statement "if (pFStack_110 != (Fts5Parse *)0x0) goto LAB_000b8280;" if (parenthesized_expression "(pFStack_110 != (Fts5Parse *)0x0)" ( (binary_expression "pFStack_110 != (Fts5Parse *)0x0" identifier != (cast_expression "(Fts5Parse *)0x0" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b8280;" goto statement_identifier ;)) (labeled_statement "LAB_000b8300:\n    pFVar8 = (Fts5Parse *)((int)pvVar15 + 0x14);" statement_identifier : (expression_statement "pFVar8 = (Fts5Parse *)((int)pvVar15 + 0x14);" (assignment_expression "pFVar8 = (Fts5Parse *)((int)pvVar15 + 0x14)" identifier = (cast_expression "(Fts5Parse *)((int)pvVar15 + 0x14)" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar15 + 0x14)" ( (binary_expression "(int)pvVar15 + 0x14" (cast_expression "(int)pvVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "FStack_160.nPhrase = 0xffffffff;" (assignment_expression "FStack_160.nPhrase = 0xffffffff" (field_expression "FStack_160.nPhrase" identifier . field_identifier) = number_literal) ;) (expression_statement "FStack_160.rc = 1;" (assignment_expression "FStack_160.rc = 1" (field_expression "FStack_160.rc" identifier . field_identifier) = number_literal) ;) (expression_statement "psVar21 = (sqlite3 *)FStack_100.p;" (assignment_expression "psVar21 = (sqlite3 *)FStack_100.p" identifier = (cast_expression "(sqlite3 *)FStack_100.p" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "FStack_100.p" identifier . field_identifier))) ;) (expression_statement "psVar31 = (sqlite3 *)FStack_100.n;" (assignment_expression "psVar31 = (sqlite3 *)FStack_100.n" identifier = (cast_expression "(sqlite3 *)FStack_100.n" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "FStack_100.n" identifier . field_identifier))) ;) (expression_statement "(*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0))(pvVar15);" (call_expression "(*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0))(pvVar15)" (parenthesized_expression "(*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0))" ( (pointer_expression "*(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0)" * (cast_expression "(code *)(*(int *)(puStack_148 + -0x7d60) + -0x13c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_148 + -0x7d60) + -0x13c0)" ( (binary_expression "*(int *)(puStack_148 + -0x7d60) + -0x13c0" (pointer_expression "*(int *)(puStack_148 + -0x7d60)" * (cast_expression "(int *)(puStack_148 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_148 + -0x7d60)" ( (binary_expression "puStack_148 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pvVar15)" ( identifier ))) ;) }))) (expression_statement "pFVar16 = &FStack_100;" (assignment_expression "pFVar16 = &FStack_100" identifier = (pointer_expression "&FStack_100" & identifier)) ;) (expression_statement "(*pcVar38)();" (call_expression "(*pcVar38)()" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_c4 == *piStack_130) {\n    return *piStack_130;\n  }" if (parenthesized_expression "(iStack_c4 == *piStack_130)" ( (binary_expression "iStack_c4 == *piStack_130" identifier == (pointer_expression "*piStack_130" * identifier)) )) (compound_statement "{\n    return *piStack_130;\n  }" { (return_statement "return *piStack_130;" return (pointer_expression "*piStack_130" * identifier) ;) })) (expression_statement "pcVar34 = *(code **)(puStack_148 + -0x7b28);" (assignment_expression "pcVar34 = *(code **)(puStack_148 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_148 + -0x7b28)" * (cast_expression "(code **)(puStack_148 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_148 + -0x7b28)" ( (binary_expression "puStack_148 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar39 = sqlite3Fts5Mprintf;" (assignment_expression "pcVar39 = sqlite3Fts5Mprintf" identifier = identifier) ;) (expression_statement "(*pcVar34)();" (call_expression "(*pcVar34)()" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar35 = pcVar34 + 0xdfda4;" (assignment_expression "pcVar35 = pcVar34 + 0xdfda4" identifier = (binary_expression "pcVar34 + 0xdfda4" identifier + number_literal)) ;) (expression_statement "piVar27 = *(int **)(pcVar34 + 0xd82a8);" (assignment_expression "piVar27 = *(int **)(pcVar34 + 0xd82a8)" identifier = (pointer_expression "*(int **)(pcVar34 + 0xd82a8)" * (cast_expression "(int **)(pcVar34 + 0xd82a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0xd82a8)" ( (binary_expression "pcVar34 + 0xd82a8" identifier + number_literal) ))))) ;) (expression_statement "iStack_17c = *piVar27;" (assignment_expression "iStack_17c = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "pcStack_188 = pcVar35;" (assignment_expression "pcStack_188 = pcVar35" identifier = identifier) ;) (expression_statement "pFStack_174 = &FStack_100;" (assignment_expression "pFStack_174 = &FStack_100" identifier = (pointer_expression "&FStack_100" & identifier)) ;) (expression_statement "pcStack_170 = pcVar38;" (assignment_expression "pcStack_170 = pcVar38" identifier = identifier) ;) (expression_statement "pcStack_16c = pcVar39;" (assignment_expression "pcStack_16c = pcVar39" identifier = identifier) ;) (expression_statement "FStack_160.pConfig = (Fts5Config *)psVar21;" (assignment_expression "FStack_160.pConfig = (Fts5Config *)psVar21" (field_expression "FStack_160.pConfig" identifier . field_identifier) = (cast_expression "(Fts5Config *)psVar21" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "FStack_160.zErr = (char *)psVar31;" (assignment_expression "FStack_160.zErr = (char *)psVar31" (field_expression "FStack_160.zErr" identifier . field_identifier) = (cast_expression "(char *)psVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pFVar16->p == (u8 *)0x0) {\n    ap = &FStack_160;\n    pFStack_180 = ap;\n    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ap);\n    pcVar35 = pcStack_188;\n    pFVar8 = ap;\n    if (pcVar10 == (char *)0x0) {\n      pFVar16->p = (u8 *)0x7;\n    }\n  }\n  else {\n    pcVar10 = (char *)0x0;\n  }" if (parenthesized_expression "(pFVar16->p == (u8 *)0x0)" ( (binary_expression "pFVar16->p == (u8 *)0x0" (field_expression "pFVar16->p" identifier -> field_identifier) == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ap = &FStack_160;\n    pFStack_180 = ap;\n    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ap);\n    pcVar35 = pcStack_188;\n    pFVar8 = ap;\n    if (pcVar10 == (char *)0x0) {\n      pFVar16->p = (u8 *)0x7;\n    }\n  }" { (expression_statement "ap = &FStack_160;" (assignment_expression "ap = &FStack_160" identifier = (pointer_expression "&FStack_160" & identifier)) ;) (expression_statement "pFStack_180 = ap;" (assignment_expression "pFStack_180 = ap" identifier = identifier) ;) (expression_statement "pcVar10 = sqlite3_vmprintf((char *)pFVar8,ap);" (assignment_expression "pcVar10 = sqlite3_vmprintf((char *)pFVar8,ap)" identifier = (call_expression "sqlite3_vmprintf((char *)pFVar8,ap)" identifier (argument_list "((char *)pFVar8,ap)" ( (cast_expression "(char *)pFVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "pcVar35 = pcStack_188;" (assignment_expression "pcVar35 = pcStack_188" identifier = identifier) ;) (expression_statement "pFVar8 = ap;" (assignment_expression "pFVar8 = ap" identifier = identifier) ;) (if_statement "if (pcVar10 == (char *)0x0) {\n      pFVar16->p = (u8 *)0x7;\n    }" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pFVar16->p = (u8 *)0x7;\n    }" { (expression_statement "pFVar16->p = (u8 *)0x7;" (assignment_expression "pFVar16->p = (u8 *)0x7" (field_expression "pFVar16->p" identifier -> field_identifier) = (cast_expression "(u8 *)0x7" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n    pcVar10 = (char *)0x0;\n  }" else (compound_statement "{\n    pcVar10 = (char *)0x0;\n  }" { (expression_statement "pcVar10 = (char *)0x0;" (assignment_expression "pcVar10 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (iStack_17c == *piVar27) {\n    return (int)pcVar10;\n  }" if (parenthesized_expression "(iStack_17c == *piVar27)" ( (binary_expression "iStack_17c == *piVar27" identifier == (pointer_expression "*piVar27" * identifier)) )) (compound_statement "{\n    return (int)pcVar10;\n  }" { (return_statement "return (int)pcVar10;" return (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "pcVar38 = *(code **)(pcVar35 + -0x7b28);" (assignment_expression "pcVar38 = *(code **)(pcVar35 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcVar35 + -0x7b28)" * (cast_expression "(code **)(pcVar35 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + -0x7b28)" ( (binary_expression "pcVar35 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "iVar37 = iStack_17c;" (assignment_expression "iVar37 = iStack_17c" identifier = identifier) ;) (expression_statement "(*pcVar38)();" (call_expression "(*pcVar38)()" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppsVar11 = &psStack_190;" (assignment_expression "ppsVar11 = &psStack_190" identifier = (pointer_expression "&psStack_190" & identifier)) ;) (expression_statement "puVar28 = *(undefined4 **)(pcVar38 + 0xd8208);" (assignment_expression "puVar28 = *(undefined4 **)(pcVar38 + 0xd8208)" identifier = (pointer_expression "*(undefined4 **)(pcVar38 + 0xd8208)" * (cast_expression "(undefined4 **)(pcVar38 + 0xd8208)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0xd8208)" ( (binary_expression "pcVar38 + 0xd8208" identifier + number_literal) ))))) ;) (expression_statement "ppsVar18 = (sqlite3 **)*puVar28;" (assignment_expression "ppsVar18 = (sqlite3 **)*puVar28" identifier = (cast_expression "(sqlite3 **)*puVar28" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar28" * identifier))) ;) (expression_statement "ppsVar19 = ppsVar18;" (assignment_expression "ppsVar19 = ppsVar18" identifier = identifier) ;) (expression_statement "psStack_190 = psVar21;" (assignment_expression "psStack_190 = psVar21" identifier = identifier) ;) (expression_statement "psStack_18c = psVar31;" (assignment_expression "psStack_18c = psVar31" identifier = identifier) ;) (if_statement "if (*(int *)(iVar37 + 8) == 0) {\n    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ppsVar11);\n    *(char **)(iVar37 + 4) = pcVar10;\n    *(undefined4 *)(iVar37 + 8) = 1;\n    ppsVar19 = ppsVar11;\n  }" if (parenthesized_expression "(*(int *)(iVar37 + 8) == 0)" ( (binary_expression "*(int *)(iVar37 + 8) == 0" (pointer_expression "*(int *)(iVar37 + 8)" * (cast_expression "(int *)(iVar37 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 8)" ( (binary_expression "iVar37 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    pcVar10 = sqlite3_vmprintf((char *)pFVar8,ppsVar11);\n    *(char **)(iVar37 + 4) = pcVar10;\n    *(undefined4 *)(iVar37 + 8) = 1;\n    ppsVar19 = ppsVar11;\n  }" { (expression_statement "pcVar10 = sqlite3_vmprintf((char *)pFVar8,ppsVar11);" (assignment_expression "pcVar10 = sqlite3_vmprintf((char *)pFVar8,ppsVar11)" identifier = (call_expression "sqlite3_vmprintf((char *)pFVar8,ppsVar11)" identifier (argument_list "((char *)pFVar8,ppsVar11)" ( (cast_expression "(char *)pFVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "*(char **)(iVar37 + 4) = pcVar10;" (assignment_expression "*(char **)(iVar37 + 4) = pcVar10" (pointer_expression "*(char **)(iVar37 + 4)" * (cast_expression "(char **)(iVar37 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar37 + 4)" ( (binary_expression "iVar37 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar37 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar37 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar37 + 8)" * (cast_expression "(undefined4 *)(iVar37 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 8)" ( (binary_expression "iVar37 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppsVar19 = ppsVar11;" (assignment_expression "ppsVar19 = ppsVar11" identifier = identifier) ;) })) (expression_statement "ppsVar11 = (sqlite3 **)*puVar28;" (assignment_expression "ppsVar11 = (sqlite3 **)*puVar28" identifier = (cast_expression "(sqlite3 **)*puVar28" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar28" * identifier))) ;) (if_statement "if (ppsVar18 == ppsVar11) {\n    return (int)ppsVar11;\n  }" if (parenthesized_expression "(ppsVar18 == ppsVar11)" ( (binary_expression "ppsVar18 == ppsVar11" identifier == identifier) )) (compound_statement "{\n    return (int)ppsVar11;\n  }" { (return_statement "return (int)ppsVar11;" return (cast_expression "(int)ppsVar11" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "pcVar38 = *(code **)(pcVar38 + 0xd81dc);" (assignment_expression "pcVar38 = *(code **)(pcVar38 + 0xd81dc)" identifier = (pointer_expression "*(code **)(pcVar38 + 0xd81dc)" * (cast_expression "(code **)(pcVar38 + 0xd81dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0xd81dc)" ( (binary_expression "pcVar38 + 0xd81dc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar38)();" (call_expression "(*pcVar38)()" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar37 = (*(code *)(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0))(&pFVar8->rc,psVar21,psVar31);" (assignment_expression "iVar37 = (*(code *)(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0))(&pFVar8->rc,psVar21,psVar31)" identifier = (call_expression "(*(code *)(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0))(&pFVar8->rc,psVar21,psVar31)" (parenthesized_expression "(*(code *)(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0))" ( (pointer_expression "*(code *)(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0)" * (cast_expression "(code *)(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0xd7f04) + 0x3fb0)" ( (binary_expression "*(int *)(pcVar38 + 0xd7f04) + 0x3fb0" (pointer_expression "*(int *)(pcVar38 + 0xd7f04)" * (cast_expression "(int *)(pcVar38 + 0xd7f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0xd7f04)" ( (binary_expression "pcVar38 + 0xd7f04" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(&pFVar8->rc,psVar21,psVar31)" ( (pointer_expression "&pFVar8->rc" & (field_expression "pFVar8->rc" identifier -> field_identifier)) , identifier , identifier )))) ;) (if_statement "if (pFVar8->rc == 0) {\n    pFVar23 = pFVar8->pConfig;\n    (*(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8))(iVar37);\n    iVar25 = pFVar23->nCol;\n    if (iVar25 < 1) {\n      iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      if (iVar25 != 0) {\n        iVar29 = 0;\nLAB_000b8dcc:\n        psVar31 = (sqlite3 *)0x0;\n        if (ppsVar19 != (sqlite3 **)0x0) {\n          psVar31 = *ppsVar19;\n        }\n        iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();\n        if ((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)) {\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }\n        piVar22 = piVar27 + 1;\n        if (0 < (int)psVar31) {\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }\nLAB_000b8e64:\n        *piVar22 = iVar29;\n        *piVar27 = (int)((int)&psVar31->pVfs + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);\n        return (int)piVar27;\n      }\n    }\n    else {\n      iVar29 = 0;\n      ppcVar24 = pFVar23->azCol;\n      pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8);\n      do {\n        pcVar10 = *ppcVar24;\n        ppcVar24 = ppcVar24 + 1;\n        iVar20 = iVar37;\n        if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }\n        iVar29 = iVar29 + 1;\n        iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      } while (iVar29 != iVar25);\n    }\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n    sqlite3Fts5ParseError(pFVar8,(char *)(iVar20 + -0x4c3c),iVar37);\n    (*pcVar38)(iVar37);\n  }\n  else {\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n  }" if (parenthesized_expression "(pFVar8->rc == 0)" ( (binary_expression "pFVar8->rc == 0" (field_expression "pFVar8->rc" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    pFVar23 = pFVar8->pConfig;\n    (*(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8))(iVar37);\n    iVar25 = pFVar23->nCol;\n    if (iVar25 < 1) {\n      iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      if (iVar25 != 0) {\n        iVar29 = 0;\nLAB_000b8dcc:\n        psVar31 = (sqlite3 *)0x0;\n        if (ppsVar19 != (sqlite3 **)0x0) {\n          psVar31 = *ppsVar19;\n        }\n        iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();\n        if ((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)) {\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }\n        piVar22 = piVar27 + 1;\n        if (0 < (int)psVar31) {\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }\nLAB_000b8e64:\n        *piVar22 = iVar29;\n        *piVar27 = (int)((int)&psVar31->pVfs + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);\n        return (int)piVar27;\n      }\n    }\n    else {\n      iVar29 = 0;\n      ppcVar24 = pFVar23->azCol;\n      pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8);\n      do {\n        pcVar10 = *ppcVar24;\n        ppcVar24 = ppcVar24 + 1;\n        iVar20 = iVar37;\n        if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }\n        iVar29 = iVar29 + 1;\n        iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      } while (iVar29 != iVar25);\n    }\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n    sqlite3Fts5ParseError(pFVar8,(char *)(iVar20 + -0x4c3c),iVar37);\n    (*pcVar38)(iVar37);\n  }" { (expression_statement "pFVar23 = pFVar8->pConfig;" (assignment_expression "pFVar23 = pFVar8->pConfig" identifier = (field_expression "pFVar8->pConfig" identifier -> field_identifier)) ;) (expression_statement "(*(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8))(iVar37);" (call_expression "(*(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8))(iVar37)" (parenthesized_expression "(*(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8))" ( (pointer_expression "*(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8)" * (cast_expression "(code *)(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8)" ( (binary_expression "*(int *)(pcVar38 + 0xd7e8c) + 0x6ea8" (pointer_expression "*(int *)(pcVar38 + 0xd7e8c)" * (cast_expression "(int *)(pcVar38 + 0xd7e8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0xd7e8c)" ( (binary_expression "pcVar38 + 0xd7e8c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar37)" ( identifier ))) ;) (expression_statement "iVar25 = pFVar23->nCol;" (assignment_expression "iVar25 = pFVar23->nCol" identifier = (field_expression "pFVar23->nCol" identifier -> field_identifier)) ;) (if_statement "if (iVar25 < 1) {\n      iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      if (iVar25 != 0) {\n        iVar29 = 0;\nLAB_000b8dcc:\n        psVar31 = (sqlite3 *)0x0;\n        if (ppsVar19 != (sqlite3 **)0x0) {\n          psVar31 = *ppsVar19;\n        }\n        iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();\n        if ((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)) {\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }\n        piVar22 = piVar27 + 1;\n        if (0 < (int)psVar31) {\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }\nLAB_000b8e64:\n        *piVar22 = iVar29;\n        *piVar27 = (int)((int)&psVar31->pVfs + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);\n        return (int)piVar27;\n      }\n    }\n    else {\n      iVar29 = 0;\n      ppcVar24 = pFVar23->azCol;\n      pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8);\n      do {\n        pcVar10 = *ppcVar24;\n        ppcVar24 = ppcVar24 + 1;\n        iVar20 = iVar37;\n        if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }\n        iVar29 = iVar29 + 1;\n        iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      } while (iVar29 != iVar25);\n    }" if (parenthesized_expression "(iVar25 < 1)" ( (binary_expression "iVar25 < 1" identifier < number_literal) )) (compound_statement "{\n      iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      if (iVar25 != 0) {\n        iVar29 = 0;\nLAB_000b8dcc:\n        psVar31 = (sqlite3 *)0x0;\n        if (ppsVar19 != (sqlite3 **)0x0) {\n          psVar31 = *ppsVar19;\n        }\n        iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();\n        if ((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)) {\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }\n        piVar22 = piVar27 + 1;\n        if (0 < (int)psVar31) {\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }\nLAB_000b8e64:\n        *piVar22 = iVar29;\n        *piVar27 = (int)((int)&psVar31->pVfs + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);\n        return (int)piVar27;\n      }\n    }" { (expression_statement "iVar20 = *(int *)(pcVar38 + 0xd7ca8);" (assignment_expression "iVar20 = *(int *)(pcVar38 + 0xd7ca8)" identifier = (pointer_expression "*(int *)(pcVar38 + 0xd7ca8)" * (cast_expression "(int *)(pcVar38 + 0xd7ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0xd7ca8)" ( (binary_expression "pcVar38 + 0xd7ca8" identifier + number_literal) ))))) ;) (if_statement "if (iVar25 != 0) {\n        iVar29 = 0;\nLAB_000b8dcc:\n        psVar31 = (sqlite3 *)0x0;\n        if (ppsVar19 != (sqlite3 **)0x0) {\n          psVar31 = *ppsVar19;\n        }\n        iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();\n        if ((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)) {\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }\n        piVar22 = piVar27 + 1;\n        if (0 < (int)psVar31) {\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }\nLAB_000b8e64:\n        *piVar22 = iVar29;\n        *piVar27 = (int)((int)&psVar31->pVfs + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);\n        return (int)piVar27;\n      }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar29 = 0;\nLAB_000b8dcc:\n        psVar31 = (sqlite3 *)0x0;\n        if (ppsVar19 != (sqlite3 **)0x0) {\n          psVar31 = *ppsVar19;\n        }\n        iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();\n        if ((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)) {\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }\n        piVar22 = piVar27 + 1;\n        if (0 < (int)psVar31) {\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }\nLAB_000b8e64:\n        *piVar22 = iVar29;\n        *piVar27 = (int)((int)&psVar31->pVfs + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);\n        return (int)piVar27;\n      }" { (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000b8dcc:\n        psVar31 = (sqlite3 *)0x0;" statement_identifier : (expression_statement "psVar31 = (sqlite3 *)0x0;" (assignment_expression "psVar31 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (ppsVar19 != (sqlite3 **)0x0) {\n          psVar31 = *ppsVar19;\n        }" if (parenthesized_expression "(ppsVar19 != (sqlite3 **)0x0)" ( (binary_expression "ppsVar19 != (sqlite3 **)0x0" identifier != (cast_expression "(sqlite3 **)0x0" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          psVar31 = *ppsVar19;\n        }" { (expression_statement "psVar31 = *ppsVar19;" (assignment_expression "psVar31 = *ppsVar19" identifier = (pointer_expression "*ppsVar19" * identifier)) ;) })) (expression_statement "iVar25 = (**(code **)(pcVar38 + 0xd7ed4))();" (assignment_expression "iVar25 = (**(code **)(pcVar38 + 0xd7ed4))()" identifier = (call_expression "(**(code **)(pcVar38 + 0xd7ed4))()" (parenthesized_expression "(**(code **)(pcVar38 + 0xd7ed4))" ( (pointer_expression "**(code **)(pcVar38 + 0xd7ed4)" * (pointer_expression "*(code **)(pcVar38 + 0xd7ed4)" * (cast_expression "(code **)(pcVar38 + 0xd7ed4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0xd7ed4)" ( (binary_expression "pcVar38 + 0xd7ed4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)) {\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }" if (parenthesized_expression "((iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0))" ( (binary_expression "(iVar25 != 0) ||\n           (piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)" (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) || (parenthesized_expression "(piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0)" ( (comma_expression "piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19),\n           piVar27 == (int *)0x0" (assignment_expression "piVar27 = (int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19)" identifier = (cast_expression "(int *)(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))(ppsVar19)" (parenthesized_expression "(*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354))" ( (pointer_expression "*(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354)" * (cast_expression "(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x354)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0xd7ef4) + 0x354)" ( (binary_expression "*(int *)(pcVar38 + 0xd7ef4) + 0x354" (pointer_expression "*(int *)(pcVar38 + 0xd7ef4)" * (cast_expression "(int *)(pcVar38 + 0xd7ef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0xd7ef4)" ( (binary_expression "pcVar38 + 0xd7ef4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppsVar19)" ( identifier ))))) , (binary_expression "piVar27 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n          pFVar8->rc = 7;\n          (*pcVar38)(iVar37);\n          goto LAB_000b8d20;\n        }" { (expression_statement "pcVar38 = *(code **)(pcVar38 + 0xd7cb8);" (assignment_expression "pcVar38 = *(code **)(pcVar38 + 0xd7cb8)" identifier = (pointer_expression "*(code **)(pcVar38 + 0xd7cb8)" * (cast_expression "(code **)(pcVar38 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0xd7cb8)" ( (binary_expression "pcVar38 + 0xd7cb8" identifier + number_literal) ))))) ;) (expression_statement "pFVar8->rc = 7;" (assignment_expression "pFVar8->rc = 7" (field_expression "pFVar8->rc" identifier -> field_identifier) = number_literal) ;) (expression_statement "(*pcVar38)(iVar37);" (call_expression "(*pcVar38)(iVar37)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(iVar37)" ( identifier ))) ;) (goto_statement "goto LAB_000b8d20;" goto statement_identifier ;) })) (expression_statement "piVar22 = piVar27 + 1;" (assignment_expression "piVar22 = piVar27 + 1" identifier = (binary_expression "piVar27 + 1" identifier + number_literal)) ;) (if_statement "if (0 < (int)psVar31) {\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }" if (parenthesized_expression "(0 < (int)psVar31)" ( (binary_expression "0 < (int)psVar31" number_literal < (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if (piVar27[1] == iVar29) goto LAB_000b8e6c;\n          psVar7 = (sqlite3 *)0x0;\n          if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }\n          piVar14 = piVar27 + (int)psVar31;\n          psVar21 = psVar31;\n          do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);\n        }" { (if_statement "if (piVar27[1] == iVar29) goto LAB_000b8e6c;" if (parenthesized_expression "(piVar27[1] == iVar29)" ( (binary_expression "piVar27[1] == iVar29" (subscript_expression "piVar27[1]" identifier [ number_literal ]) == identifier) )) (goto_statement "goto LAB_000b8e6c;" goto statement_identifier ;)) (expression_statement "psVar7 = (sqlite3 *)0x0;" (assignment_expression "psVar7 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar27[1] <= iVar29) {\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }" if (parenthesized_expression "(piVar27[1] <= iVar29)" ( (binary_expression "piVar27[1] <= iVar29" (subscript_expression "piVar27[1]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n            psVar7 = (sqlite3 *)0x0;\n            piVar14 = piVar27 + 2;\n            do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);\n          }" { (expression_statement "psVar7 = (sqlite3 *)0x0;" (assignment_expression "psVar7 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar14 = piVar27 + 2;" (assignment_expression "piVar14 = piVar27 + 2" identifier = (binary_expression "piVar27 + 2" identifier + number_literal)) ;) (do_statement "do {\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            } while (*piVar22 <= iVar29);" do (compound_statement "{\n              piVar22 = piVar14;\n              psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);\n              if (psVar31 == psVar7) goto LAB_000b8e64;\n              if (*piVar22 == iVar29) goto LAB_000b8e6c;\n              piVar14 = piVar22 + 1;\n            }" { (expression_statement "piVar22 = piVar14;" (assignment_expression "piVar22 = piVar14" identifier = identifier) ;) (expression_statement "psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1);" (assignment_expression "psVar7 = (sqlite3 *)((int)&psVar7->pVfs + 1)" identifier = (cast_expression "(sqlite3 *)((int)&psVar7->pVfs + 1)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar7->pVfs + 1)" ( (binary_expression "(int)&psVar7->pVfs + 1" (cast_expression "(int)&psVar7->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->pVfs" & (field_expression "psVar7->pVfs" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (psVar31 == psVar7) goto LAB_000b8e64;" if (parenthesized_expression "(psVar31 == psVar7)" ( (binary_expression "psVar31 == psVar7" identifier == identifier) )) (goto_statement "goto LAB_000b8e64;" goto statement_identifier ;)) (if_statement "if (*piVar22 == iVar29) goto LAB_000b8e6c;" if (parenthesized_expression "(*piVar22 == iVar29)" ( (binary_expression "*piVar22 == iVar29" (pointer_expression "*piVar22" * identifier) == identifier) )) (goto_statement "goto LAB_000b8e6c;" goto statement_identifier ;)) (expression_statement "piVar14 = piVar22 + 1;" (assignment_expression "piVar14 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*piVar22 <= iVar29)" ( (binary_expression "*piVar22 <= iVar29" (pointer_expression "*piVar22" * identifier) <= identifier) )) ;) })) (expression_statement "piVar14 = piVar27 + (int)psVar31;" (assignment_expression "piVar14 = piVar27 + (int)psVar31" identifier = (binary_expression "piVar27 + (int)psVar31" identifier + (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "psVar21 = psVar31;" (assignment_expression "psVar21 = psVar31" identifier = identifier) ;) (do_statement "do {\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          } while ((int)psVar7 < (int)psVar21);" do (compound_statement "{\n            psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);\n            piVar14[1] = *piVar14;\n            piVar14 = piVar14 + -1;\n          }" { (expression_statement "psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3);" (assignment_expression "psVar21 = (sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3)" identifier = (cast_expression "(sqlite3 *)((int)&psVar21[-1].pNextBlocked + 3)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar21[-1].pNextBlocked + 3)" ( (binary_expression "(int)&psVar21[-1].pNextBlocked + 3" (cast_expression "(int)&psVar21[-1].pNextBlocked" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar21[-1].pNextBlocked" & (field_expression "psVar21[-1].pNextBlocked" (subscript_expression "psVar21[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "piVar14[1] = *piVar14;" (assignment_expression "piVar14[1] = *piVar14" (subscript_expression "piVar14[1]" identifier [ number_literal ]) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "piVar14 = piVar14 + -1;" (assignment_expression "piVar14 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)psVar7 < (int)psVar21)" ( (binary_expression "(int)psVar7 < (int)psVar21" (cast_expression "(int)psVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (labeled_statement "LAB_000b8e64:\n        *piVar22 = iVar29;" statement_identifier : (expression_statement "*piVar22 = iVar29;" (assignment_expression "*piVar22 = iVar29" (pointer_expression "*piVar22" * identifier) = identifier) ;)) (expression_statement "*piVar27 = (int)((int)&psVar31->pVfs + 1);" (assignment_expression "*piVar27 = (int)((int)&psVar31->pVfs + 1)" (pointer_expression "*piVar27" * identifier) = (cast_expression "(int)((int)&psVar31->pVfs + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&psVar31->pVfs + 1)" ( (binary_expression "(int)&psVar31->pVfs + 1" (cast_expression "(int)&psVar31->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar31->pVfs" & (field_expression "psVar31->pVfs" identifier -> field_identifier))) + number_literal) )))) ;) (labeled_statement "LAB_000b8e6c:\n        (**(code **)(pcVar38 + 0xd7cb8))(iVar37);" statement_identifier : (expression_statement "(**(code **)(pcVar38 + 0xd7cb8))(iVar37);" (call_expression "(**(code **)(pcVar38 + 0xd7cb8))(iVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0xd7cb8))" ( (pointer_expression "**(code **)(pcVar38 + 0xd7cb8)" * (pointer_expression "*(code **)(pcVar38 + 0xd7cb8)" * (cast_expression "(code **)(pcVar38 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0xd7cb8)" ( (binary_expression "pcVar38 + 0xd7cb8" identifier + number_literal) ))))) )) (argument_list "(iVar37)" ( identifier ))) ;)) (return_statement "return (int)piVar27;" return (cast_expression "(int)piVar27" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) }) (else_clause "else {\n      iVar29 = 0;\n      ppcVar24 = pFVar23->azCol;\n      pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8);\n      do {\n        pcVar10 = *ppcVar24;\n        ppcVar24 = ppcVar24 + 1;\n        iVar20 = iVar37;\n        if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }\n        iVar29 = iVar29 + 1;\n        iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      } while (iVar29 != iVar25);\n    }" else (compound_statement "{\n      iVar29 = 0;\n      ppcVar24 = pFVar23->azCol;\n      pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8);\n      do {\n        pcVar10 = *ppcVar24;\n        ppcVar24 = ppcVar24 + 1;\n        iVar20 = iVar37;\n        if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }\n        iVar29 = iVar29 + 1;\n        iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      } while (iVar29 != iVar25);\n    }" { (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "ppcVar24 = pFVar23->azCol;" (assignment_expression "ppcVar24 = pFVar23->azCol" identifier = (field_expression "pFVar23->azCol" identifier -> field_identifier)) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8)" identifier = (cast_expression "(code *)(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0xd7ef4) + 0x20c8)" ( (binary_expression "*(int *)(pcVar38 + 0xd7ef4) + 0x20c8" (pointer_expression "*(int *)(pcVar38 + 0xd7ef4)" * (cast_expression "(int *)(pcVar38 + 0xd7ef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0xd7ef4)" ( (binary_expression "pcVar38 + 0xd7ef4" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n        pcVar10 = *ppcVar24;\n        ppcVar24 = ppcVar24 + 1;\n        iVar20 = iVar37;\n        if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }\n        iVar29 = iVar29 + 1;\n        iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      } while (iVar29 != iVar25);" do (compound_statement "{\n        pcVar10 = *ppcVar24;\n        ppcVar24 = ppcVar24 + 1;\n        iVar20 = iVar37;\n        if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }\n        iVar29 = iVar29 + 1;\n        iVar20 = *(int *)(pcVar38 + 0xd7ca8);\n      }" { (expression_statement "pcVar10 = *ppcVar24;" (assignment_expression "pcVar10 = *ppcVar24" identifier = (pointer_expression "*ppcVar24" * identifier)) ;) (expression_statement "ppcVar24 = ppcVar24 + 1;" (assignment_expression "ppcVar24 = ppcVar24 + 1" identifier = (binary_expression "ppcVar24 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = iVar37;" (assignment_expression "iVar20 = iVar37" identifier = identifier) ;) (if_statement "if (pcVar10 == (char *)0x0) {\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\njoined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;\n        }" { (labeled_statement "joined_r0x000b8d9c:\n          if (iVar20 == 0) goto LAB_000b8dcc;" statement_identifier : (if_statement "if (iVar20 == 0) goto LAB_000b8dcc;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b8dcc;" goto statement_identifier ;))) }) (else_clause "else if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }" else (if_statement "if (iVar37 != 0) {\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }" if (parenthesized_expression "(iVar37 != 0)" ( (binary_expression "iVar37 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar20 = (*pcVar35)(pcVar10,iVar37);\n          goto joined_r0x000b8d9c;\n        }" { (expression_statement "iVar20 = (*pcVar35)(pcVar10,iVar37);" (assignment_expression "iVar20 = (*pcVar35)(pcVar10,iVar37)" identifier = (call_expression "(*pcVar35)(pcVar10,iVar37)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pcVar10,iVar37)" ( identifier , identifier )))) ;) (goto_statement "goto joined_r0x000b8d9c;" goto statement_identifier ;) })))) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = *(int *)(pcVar38 + 0xd7ca8);" (assignment_expression "iVar20 = *(int *)(pcVar38 + 0xd7ca8)" identifier = (pointer_expression "*(int *)(pcVar38 + 0xd7ca8)" * (cast_expression "(int *)(pcVar38 + 0xd7ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0xd7ca8)" ( (binary_expression "pcVar38 + 0xd7ca8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar29 != iVar25)" ( (binary_expression "iVar29 != iVar25" identifier != identifier) )) ;) }))) (expression_statement "pcVar38 = *(code **)(pcVar38 + 0xd7cb8);" (assignment_expression "pcVar38 = *(code **)(pcVar38 + 0xd7cb8)" identifier = (pointer_expression "*(code **)(pcVar38 + 0xd7cb8)" * (cast_expression "(code **)(pcVar38 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0xd7cb8)" ( (binary_expression "pcVar38 + 0xd7cb8" identifier + number_literal) ))))) ;) (expression_statement "sqlite3Fts5ParseError(pFVar8,(char *)(iVar20 + -0x4c3c),iVar37);" (call_expression "sqlite3Fts5ParseError(pFVar8,(char *)(iVar20 + -0x4c3c),iVar37)" identifier (argument_list "(pFVar8,(char *)(iVar20 + -0x4c3c),iVar37)" ( identifier , (cast_expression "(char *)(iVar20 + -0x4c3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + -0x4c3c)" ( (binary_expression "iVar20 + -0x4c3c" identifier + number_literal) ))) , identifier ))) ;) (expression_statement "(*pcVar38)(iVar37);" (call_expression "(*pcVar38)(iVar37)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(iVar37)" ( identifier ))) ;) }) (else_clause "else {\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n  }" else (compound_statement "{\n    pcVar38 = *(code **)(pcVar38 + 0xd7cb8);\n  }" { (expression_statement "pcVar38 = *(code **)(pcVar38 + 0xd7cb8);" (assignment_expression "pcVar38 = *(code **)(pcVar38 + 0xd7cb8)" identifier = (pointer_expression "*(code **)(pcVar38 + 0xd7cb8)" * (cast_expression "(code **)(pcVar38 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0xd7cb8)" ( (binary_expression "pcVar38 + 0xd7cb8" identifier + number_literal) ))))) ;) }))) (labeled_statement "LAB_000b8d20:\n  (*pcVar38)(ppsVar19);" statement_identifier : (expression_statement "(*pcVar38)(ppsVar19);" (call_expression "(*pcVar38)(ppsVar19)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(ppsVar19)" ( identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "byte *******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  byte *******pppppppbVar3;\n  uint uVar4;\n  int iVar5;\n  byte *******pppppppbVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  byte *******pppppppbVar11;\n  int iVar12;\n  byte ****ppppbVar13;\n  uint uVar14;\n  byte *pbVar15;\n  byte ******ppppppbVar16;\n  byte *******pppppppbVar17;\n  byte *******pppppppbVar18;\n  byte *******pppppppbVar19;\n  byte ******ppppppbVar20;\n  byte *****pppppbVar21;\n  byte ******ppppppbVar22;\n  undefined *puVar23;\n  undefined *unaff_s0;\n  int *piVar24;\n  byte ******ppppppbVar25;\n  code *pcVar26;\n  byte *******unaff_s3;\n  byte *******unaff_s4;\n  int *unaff_s5;\n  byte *pbVar27;\n  byte *******unaff_s6;\n  byte *******unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  byte *******pppppppbVar31;\n  int iVar32;\n  int iVar33;\n  byte *pbVar34;\n  undefined4 uVar35;\n  code *pcVar36;\n  undefined8 uVar37;\n  byte *******pppppppbStack_190;\n  byte *******pppppppbStack_18c;\n  code *pcStack_188;\n  byte *******pppppppbStack_180;\n  int iStack_17c;\n  byte *******pppppppbStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  byte *******pppppppbStack_160;\n  byte *******pppppppbStack_15c;\n  byte *******local_158;\n  byte ******local_154;\n  byte *******local_150;\n  undefined *local_148;\n  code *local_13c;\n  byte *******local_138;\n  code *local_134;\n  int *local_130;\n  byte *******local_12c;\n  byte *******local_128;\n  byte *******local_124;\n  code *local_120;\n  code *local_11c;\n  int local_118;\n  byte *******local_114;\n  byte *******local_110;\n  byte *******local_10c;\n  byte *******local_108;\n  byte *******local_104;\n  byte *******local_100;\n  byte *******local_fc;\n  undefined4 local_f8;\n  byte *******local_f4;\n  int local_f0;\n  byte *******local_e8;\n  byte *******local_e4;\n  int local_e0;\n  undefined4 local_dc;\n  byte *******local_d8;\n  undefined4 local_d4;\n  byte *******local_d0;\n  byte ******local_cc;\n  byte *******local_c4;\n  undefined *local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  byte *******local_b4;\n  byte *******local_b0;\n  int *local_ac;\n  byte *******local_a8;\n  byte *******local_a4;\n  byte *******local_a0;\n  undefined4 local_9c;\n  byte *******local_88;\n  uint local_84;\n  byte *******local_48;\n  int local_44;\n  byte *******local_40;\n  uint local_3c;\n  byte *******local_38;\n  int local_34;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  local_3c = 0;\n  local_40 = (byte *******)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pppppppbVar31 = (byte *******)0x0;\n  pppppppbVar6 = param_3;\n  pppppppbVar19 = param_4;\n  local_b4 = unaff_s3;\n  local_b0 = unaff_s4;\n  if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }\n  if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }\n  uVar35 = 0xb80e8;\n  iVar12 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  local_148 = puVar28 + 0xe0838;\n  local_130 = *(int **)(puVar28 + 0xd8d3c);\n  local_110 = (byte *******)0x0;\n  local_c4 = (byte *******)*local_130;\n  iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);\n  local_100 = (byte *******)0x0;\n  local_fc = (byte *******)0x0;\n  local_f8 = 0;\n  pppppppbVar18 = pppppppbVar6;\n  local_c0 = unaff_s0;\n  local_bc = param_1;\n  local_b8 = param_2;\n  local_ac = unaff_s5;\n  local_a8 = unaff_s6;\n  local_a4 = unaff_s7;\n  local_a0 = pppppppbVar31;\n  local_9c = uVar35;\n  uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);\n  uVar4 = (uint)((ulonglong)uVar37 >> 0x20);\n  uVar14 = (uint)uVar37;\n  iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);\n  uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);\n  if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }\n  pppppppbVar31 = (byte *******)&local_100;\n  (*pcVar26)();\n  if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }\n  pcVar29 = *(code **)(local_148 + -0x7b28);\n  pcVar36 = FUN_000b8b7c;\n  (*pcVar29)();\n  pcVar30 = pcVar29 + 0xdfda4;\n  piVar24 = *(int **)(pcVar29 + 0xd82a8);\n  iStack_17c = *piVar24;\n  pcStack_188 = pcVar30;\n  pppppppbStack_174 = (byte *******)&local_100;\n  pcStack_170 = pcVar26;\n  pcStack_16c = pcVar36;\n  pppppppbStack_160 = pppppppbVar18;\n  pppppppbStack_15c = pppppppbVar19;\n  if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }\n  if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar30 + -0x7b28);\n  iVar12 = iStack_17c;\n  (*pcVar26)();\n  pppppppbVar11 = (byte *******)&pppppppbStack_190;\n  piVar24 = *(int **)(pcVar26 + 0xd8208);\n  pppppppbVar17 = (byte *******)*piVar24;\n  pppppppbVar31 = pppppppbVar17;\n  pppppppbStack_190 = pppppppbVar18;\n  pppppppbStack_18c = pppppppbVar19;\n  if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }\n  pppppppbVar11 = (byte *******)*piVar24;\n  if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0xd81dc);\n  (*pcVar26)();\n  iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);\n  if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);\n  return (byte *******)0x0;\n}\n\n" (function_definition "byte *******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  byte *******pppppppbVar3;\n  uint uVar4;\n  int iVar5;\n  byte *******pppppppbVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  byte *******pppppppbVar11;\n  int iVar12;\n  byte ****ppppbVar13;\n  uint uVar14;\n  byte *pbVar15;\n  byte ******ppppppbVar16;\n  byte *******pppppppbVar17;\n  byte *******pppppppbVar18;\n  byte *******pppppppbVar19;\n  byte ******ppppppbVar20;\n  byte *****pppppbVar21;\n  byte ******ppppppbVar22;\n  undefined *puVar23;\n  undefined *unaff_s0;\n  int *piVar24;\n  byte ******ppppppbVar25;\n  code *pcVar26;\n  byte *******unaff_s3;\n  byte *******unaff_s4;\n  int *unaff_s5;\n  byte *pbVar27;\n  byte *******unaff_s6;\n  byte *******unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  byte *******pppppppbVar31;\n  int iVar32;\n  int iVar33;\n  byte *pbVar34;\n  undefined4 uVar35;\n  code *pcVar36;\n  undefined8 uVar37;\n  byte *******pppppppbStack_190;\n  byte *******pppppppbStack_18c;\n  code *pcStack_188;\n  byte *******pppppppbStack_180;\n  int iStack_17c;\n  byte *******pppppppbStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  byte *******pppppppbStack_160;\n  byte *******pppppppbStack_15c;\n  byte *******local_158;\n  byte ******local_154;\n  byte *******local_150;\n  undefined *local_148;\n  code *local_13c;\n  byte *******local_138;\n  code *local_134;\n  int *local_130;\n  byte *******local_12c;\n  byte *******local_128;\n  byte *******local_124;\n  code *local_120;\n  code *local_11c;\n  int local_118;\n  byte *******local_114;\n  byte *******local_110;\n  byte *******local_10c;\n  byte *******local_108;\n  byte *******local_104;\n  byte *******local_100;\n  byte *******local_fc;\n  undefined4 local_f8;\n  byte *******local_f4;\n  int local_f0;\n  byte *******local_e8;\n  byte *******local_e4;\n  int local_e0;\n  undefined4 local_dc;\n  byte *******local_d8;\n  undefined4 local_d4;\n  byte *******local_d0;\n  byte ******local_cc;\n  byte *******local_c4;\n  undefined *local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  byte *******local_b4;\n  byte *******local_b0;\n  int *local_ac;\n  byte *******local_a8;\n  byte *******local_a4;\n  byte *******local_a0;\n  undefined4 local_9c;\n  byte *******local_88;\n  uint local_84;\n  byte *******local_48;\n  int local_44;\n  byte *******local_40;\n  uint local_3c;\n  byte *******local_38;\n  int local_34;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  local_3c = 0;\n  local_40 = (byte *******)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pppppppbVar31 = (byte *******)0x0;\n  pppppppbVar6 = param_3;\n  pppppppbVar19 = param_4;\n  local_b4 = unaff_s3;\n  local_b0 = unaff_s4;\n  if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }\n  if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }\n  uVar35 = 0xb80e8;\n  iVar12 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  local_148 = puVar28 + 0xe0838;\n  local_130 = *(int **)(puVar28 + 0xd8d3c);\n  local_110 = (byte *******)0x0;\n  local_c4 = (byte *******)*local_130;\n  iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);\n  local_100 = (byte *******)0x0;\n  local_fc = (byte *******)0x0;\n  local_f8 = 0;\n  pppppppbVar18 = pppppppbVar6;\n  local_c0 = unaff_s0;\n  local_bc = param_1;\n  local_b8 = param_2;\n  local_ac = unaff_s5;\n  local_a8 = unaff_s6;\n  local_a4 = unaff_s7;\n  local_a0 = pppppppbVar31;\n  local_9c = uVar35;\n  uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);\n  uVar4 = (uint)((ulonglong)uVar37 >> 0x20);\n  uVar14 = (uint)uVar37;\n  iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);\n  uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);\n  if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }\n  pppppppbVar31 = (byte *******)&local_100;\n  (*pcVar26)();\n  if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }\n  pcVar29 = *(code **)(local_148 + -0x7b28);\n  pcVar36 = FUN_000b8b7c;\n  (*pcVar29)();\n  pcVar30 = pcVar29 + 0xdfda4;\n  piVar24 = *(int **)(pcVar29 + 0xd82a8);\n  iStack_17c = *piVar24;\n  pcStack_188 = pcVar30;\n  pppppppbStack_174 = (byte *******)&local_100;\n  pcStack_170 = pcVar26;\n  pcStack_16c = pcVar36;\n  pppppppbStack_160 = pppppppbVar18;\n  pppppppbStack_15c = pppppppbVar19;\n  if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }\n  if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar30 + -0x7b28);\n  iVar12 = iStack_17c;\n  (*pcVar26)();\n  pppppppbVar11 = (byte *******)&pppppppbStack_190;\n  piVar24 = *(int **)(pcVar26 + 0xd8208);\n  pppppppbVar17 = (byte *******)*piVar24;\n  pppppppbVar31 = pppppppbVar17;\n  pppppppbStack_190 = pppppppbVar18;\n  pppppppbStack_18c = pppppppbVar19;\n  if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }\n  pppppppbVar11 = (byte *******)*piVar24;\n  if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0xd81dc);\n  (*pcVar26)();\n  iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);\n  if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);\n  return (byte *******)0x0;\n}" type_identifier (pointer_declarator "*******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "*****\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "****\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "***\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "**\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (pointer_declarator "*\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" * (function_declarator "FUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "byte *******param_3" type_identifier (pointer_declarator "*******param_3" * (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))))) , (parameter_declaration "byte *******param_4" type_identifier (pointer_declarator "*******param_4" * (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier)))))))) )))))))))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  byte *******pppppppbVar3;\n  uint uVar4;\n  int iVar5;\n  byte *******pppppppbVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  byte *******pppppppbVar11;\n  int iVar12;\n  byte ****ppppbVar13;\n  uint uVar14;\n  byte *pbVar15;\n  byte ******ppppppbVar16;\n  byte *******pppppppbVar17;\n  byte *******pppppppbVar18;\n  byte *******pppppppbVar19;\n  byte ******ppppppbVar20;\n  byte *****pppppbVar21;\n  byte ******ppppppbVar22;\n  undefined *puVar23;\n  undefined *unaff_s0;\n  int *piVar24;\n  byte ******ppppppbVar25;\n  code *pcVar26;\n  byte *******unaff_s3;\n  byte *******unaff_s4;\n  int *unaff_s5;\n  byte *pbVar27;\n  byte *******unaff_s6;\n  byte *******unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  byte *******pppppppbVar31;\n  int iVar32;\n  int iVar33;\n  byte *pbVar34;\n  undefined4 uVar35;\n  code *pcVar36;\n  undefined8 uVar37;\n  byte *******pppppppbStack_190;\n  byte *******pppppppbStack_18c;\n  code *pcStack_188;\n  byte *******pppppppbStack_180;\n  int iStack_17c;\n  byte *******pppppppbStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  byte *******pppppppbStack_160;\n  byte *******pppppppbStack_15c;\n  byte *******local_158;\n  byte ******local_154;\n  byte *******local_150;\n  undefined *local_148;\n  code *local_13c;\n  byte *******local_138;\n  code *local_134;\n  int *local_130;\n  byte *******local_12c;\n  byte *******local_128;\n  byte *******local_124;\n  code *local_120;\n  code *local_11c;\n  int local_118;\n  byte *******local_114;\n  byte *******local_110;\n  byte *******local_10c;\n  byte *******local_108;\n  byte *******local_104;\n  byte *******local_100;\n  byte *******local_fc;\n  undefined4 local_f8;\n  byte *******local_f4;\n  int local_f0;\n  byte *******local_e8;\n  byte *******local_e4;\n  int local_e0;\n  undefined4 local_dc;\n  byte *******local_d8;\n  undefined4 local_d4;\n  byte *******local_d0;\n  byte ******local_cc;\n  byte *******local_c4;\n  undefined *local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  byte *******local_b4;\n  byte *******local_b0;\n  int *local_ac;\n  byte *******local_a8;\n  byte *******local_a4;\n  byte *******local_a0;\n  undefined4 local_9c;\n  byte *******local_88;\n  uint local_84;\n  byte *******local_48;\n  int local_44;\n  byte *******local_40;\n  uint local_3c;\n  byte *******local_38;\n  int local_34;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  local_3c = 0;\n  local_40 = (byte *******)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pppppppbVar31 = (byte *******)0x0;\n  pppppppbVar6 = param_3;\n  pppppppbVar19 = param_4;\n  local_b4 = unaff_s3;\n  local_b0 = unaff_s4;\n  if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }\n  if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }\n  uVar35 = 0xb80e8;\n  iVar12 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  local_148 = puVar28 + 0xe0838;\n  local_130 = *(int **)(puVar28 + 0xd8d3c);\n  local_110 = (byte *******)0x0;\n  local_c4 = (byte *******)*local_130;\n  iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);\n  local_100 = (byte *******)0x0;\n  local_fc = (byte *******)0x0;\n  local_f8 = 0;\n  pppppppbVar18 = pppppppbVar6;\n  local_c0 = unaff_s0;\n  local_bc = param_1;\n  local_b8 = param_2;\n  local_ac = unaff_s5;\n  local_a8 = unaff_s6;\n  local_a4 = unaff_s7;\n  local_a0 = pppppppbVar31;\n  local_9c = uVar35;\n  uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);\n  uVar4 = (uint)((ulonglong)uVar37 >> 0x20);\n  uVar14 = (uint)uVar37;\n  iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);\n  uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);\n  if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }\n  pppppppbVar31 = (byte *******)&local_100;\n  (*pcVar26)();\n  if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }\n  pcVar29 = *(code **)(local_148 + -0x7b28);\n  pcVar36 = FUN_000b8b7c;\n  (*pcVar29)();\n  pcVar30 = pcVar29 + 0xdfda4;\n  piVar24 = *(int **)(pcVar29 + 0xd82a8);\n  iStack_17c = *piVar24;\n  pcStack_188 = pcVar30;\n  pppppppbStack_174 = (byte *******)&local_100;\n  pcStack_170 = pcVar26;\n  pcStack_16c = pcVar36;\n  pppppppbStack_160 = pppppppbVar18;\n  pppppppbStack_15c = pppppppbVar19;\n  if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }\n  if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar30 + -0x7b28);\n  iVar12 = iStack_17c;\n  (*pcVar26)();\n  pppppppbVar11 = (byte *******)&pppppppbStack_190;\n  piVar24 = *(int **)(pcVar26 + 0xd8208);\n  pppppppbVar17 = (byte *******)*piVar24;\n  pppppppbVar31 = pppppppbVar17;\n  pppppppbStack_190 = pppppppbVar18;\n  pppppppbStack_18c = pppppppbVar19;\n  if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }\n  pppppppbVar11 = (byte *******)*piVar24;\n  if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0xd81dc);\n  (*pcVar26)();\n  iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);\n  if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);\n  return (byte *******)0x0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte *******pppppppbVar3;" type_identifier (pointer_declarator "*******pppppppbVar3" * (pointer_declarator "******pppppppbVar3" * (pointer_declarator "*****pppppppbVar3" * (pointer_declarator "****pppppppbVar3" * (pointer_declarator "***pppppppbVar3" * (pointer_declarator "**pppppppbVar3" * (pointer_declarator "*pppppppbVar3" * identifier))))))) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "byte *******pppppppbVar6;" type_identifier (pointer_declarator "*******pppppppbVar6" * (pointer_declarator "******pppppppbVar6" * (pointer_declarator "*****pppppppbVar6" * (pointer_declarator "****pppppppbVar6" * (pointer_declarator "***pppppppbVar6" * (pointer_declarator "**pppppppbVar6" * (pointer_declarator "*pppppppbVar6" * identifier))))))) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "byte *******pppppppbVar11;" type_identifier (pointer_declarator "*******pppppppbVar11" * (pointer_declarator "******pppppppbVar11" * (pointer_declarator "*****pppppppbVar11" * (pointer_declarator "****pppppppbVar11" * (pointer_declarator "***pppppppbVar11" * (pointer_declarator "**pppppppbVar11" * (pointer_declarator "*pppppppbVar11" * identifier))))))) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "byte ****ppppbVar13;" type_identifier (pointer_declarator "****ppppbVar13" * (pointer_declarator "***ppppbVar13" * (pointer_declarator "**ppppbVar13" * (pointer_declarator "*ppppbVar13" * identifier)))) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "byte ******ppppppbVar16;" type_identifier (pointer_declarator "******ppppppbVar16" * (pointer_declarator "*****ppppppbVar16" * (pointer_declarator "****ppppppbVar16" * (pointer_declarator "***ppppppbVar16" * (pointer_declarator "**ppppppbVar16" * (pointer_declarator "*ppppppbVar16" * identifier)))))) ;) (declaration "byte *******pppppppbVar17;" type_identifier (pointer_declarator "*******pppppppbVar17" * (pointer_declarator "******pppppppbVar17" * (pointer_declarator "*****pppppppbVar17" * (pointer_declarator "****pppppppbVar17" * (pointer_declarator "***pppppppbVar17" * (pointer_declarator "**pppppppbVar17" * (pointer_declarator "*pppppppbVar17" * identifier))))))) ;) (declaration "byte *******pppppppbVar18;" type_identifier (pointer_declarator "*******pppppppbVar18" * (pointer_declarator "******pppppppbVar18" * (pointer_declarator "*****pppppppbVar18" * (pointer_declarator "****pppppppbVar18" * (pointer_declarator "***pppppppbVar18" * (pointer_declarator "**pppppppbVar18" * (pointer_declarator "*pppppppbVar18" * identifier))))))) ;) (declaration "byte *******pppppppbVar19;" type_identifier (pointer_declarator "*******pppppppbVar19" * (pointer_declarator "******pppppppbVar19" * (pointer_declarator "*****pppppppbVar19" * (pointer_declarator "****pppppppbVar19" * (pointer_declarator "***pppppppbVar19" * (pointer_declarator "**pppppppbVar19" * (pointer_declarator "*pppppppbVar19" * identifier))))))) ;) (declaration "byte ******ppppppbVar20;" type_identifier (pointer_declarator "******ppppppbVar20" * (pointer_declarator "*****ppppppbVar20" * (pointer_declarator "****ppppppbVar20" * (pointer_declarator "***ppppppbVar20" * (pointer_declarator "**ppppppbVar20" * (pointer_declarator "*ppppppbVar20" * identifier)))))) ;) (declaration "byte *****pppppbVar21;" type_identifier (pointer_declarator "*****pppppbVar21" * (pointer_declarator "****pppppbVar21" * (pointer_declarator "***pppppbVar21" * (pointer_declarator "**pppppbVar21" * (pointer_declarator "*pppppbVar21" * identifier))))) ;) (declaration "byte ******ppppppbVar22;" type_identifier (pointer_declarator "******ppppppbVar22" * (pointer_declarator "*****ppppppbVar22" * (pointer_declarator "****ppppppbVar22" * (pointer_declarator "***ppppppbVar22" * (pointer_declarator "**ppppppbVar22" * (pointer_declarator "*ppppppbVar22" * identifier)))))) ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "byte ******ppppppbVar25;" type_identifier (pointer_declarator "******ppppppbVar25" * (pointer_declarator "*****ppppppbVar25" * (pointer_declarator "****ppppppbVar25" * (pointer_declarator "***ppppppbVar25" * (pointer_declarator "**ppppppbVar25" * (pointer_declarator "*ppppppbVar25" * identifier)))))) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "byte *******unaff_s3;" type_identifier (pointer_declarator "*******unaff_s3" * (pointer_declarator "******unaff_s3" * (pointer_declarator "*****unaff_s3" * (pointer_declarator "****unaff_s3" * (pointer_declarator "***unaff_s3" * (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier))))))) ;) (declaration "byte *******unaff_s4;" type_identifier (pointer_declarator "*******unaff_s4" * (pointer_declarator "******unaff_s4" * (pointer_declarator "*****unaff_s4" * (pointer_declarator "****unaff_s4" * (pointer_declarator "***unaff_s4" * (pointer_declarator "**unaff_s4" * (pointer_declarator "*unaff_s4" * identifier))))))) ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "byte *pbVar27;" type_identifier (pointer_declarator "*pbVar27" * identifier) ;) (declaration "byte *******unaff_s6;" type_identifier (pointer_declarator "*******unaff_s6" * (pointer_declarator "******unaff_s6" * (pointer_declarator "*****unaff_s6" * (pointer_declarator "****unaff_s6" * (pointer_declarator "***unaff_s6" * (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier))))))) ;) (declaration "byte *******unaff_s7;" type_identifier (pointer_declarator "*******unaff_s7" * (pointer_declarator "******unaff_s7" * (pointer_declarator "*****unaff_s7" * (pointer_declarator "****unaff_s7" * (pointer_declarator "***unaff_s7" * (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier))))))) ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "byte *******pppppppbVar31;" type_identifier (pointer_declarator "*******pppppppbVar31" * (pointer_declarator "******pppppppbVar31" * (pointer_declarator "*****pppppppbVar31" * (pointer_declarator "****pppppppbVar31" * (pointer_declarator "***pppppppbVar31" * (pointer_declarator "**pppppppbVar31" * (pointer_declarator "*pppppppbVar31" * identifier))))))) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "byte *pbVar34;" type_identifier (pointer_declarator "*pbVar34" * identifier) ;) (declaration "undefined4 uVar35;" type_identifier identifier ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "undefined8 uVar37;" type_identifier identifier ;) (declaration "byte *******pppppppbStack_190;" type_identifier (pointer_declarator "*******pppppppbStack_190" * (pointer_declarator "******pppppppbStack_190" * (pointer_declarator "*****pppppppbStack_190" * (pointer_declarator "****pppppppbStack_190" * (pointer_declarator "***pppppppbStack_190" * (pointer_declarator "**pppppppbStack_190" * (pointer_declarator "*pppppppbStack_190" * identifier))))))) ;) (declaration "byte *******pppppppbStack_18c;" type_identifier (pointer_declarator "*******pppppppbStack_18c" * (pointer_declarator "******pppppppbStack_18c" * (pointer_declarator "*****pppppppbStack_18c" * (pointer_declarator "****pppppppbStack_18c" * (pointer_declarator "***pppppppbStack_18c" * (pointer_declarator "**pppppppbStack_18c" * (pointer_declarator "*pppppppbStack_18c" * identifier))))))) ;) (declaration "code *pcStack_188;" type_identifier (pointer_declarator "*pcStack_188" * identifier) ;) (declaration "byte *******pppppppbStack_180;" type_identifier (pointer_declarator "*******pppppppbStack_180" * (pointer_declarator "******pppppppbStack_180" * (pointer_declarator "*****pppppppbStack_180" * (pointer_declarator "****pppppppbStack_180" * (pointer_declarator "***pppppppbStack_180" * (pointer_declarator "**pppppppbStack_180" * (pointer_declarator "*pppppppbStack_180" * identifier))))))) ;) (declaration "int iStack_17c;" primitive_type identifier ;) (declaration "byte *******pppppppbStack_174;" type_identifier (pointer_declarator "*******pppppppbStack_174" * (pointer_declarator "******pppppppbStack_174" * (pointer_declarator "*****pppppppbStack_174" * (pointer_declarator "****pppppppbStack_174" * (pointer_declarator "***pppppppbStack_174" * (pointer_declarator "**pppppppbStack_174" * (pointer_declarator "*pppppppbStack_174" * identifier))))))) ;) (declaration "code *pcStack_170;" type_identifier (pointer_declarator "*pcStack_170" * identifier) ;) (declaration "code *pcStack_16c;" type_identifier (pointer_declarator "*pcStack_16c" * identifier) ;) (declaration "byte *******pppppppbStack_160;" type_identifier (pointer_declarator "*******pppppppbStack_160" * (pointer_declarator "******pppppppbStack_160" * (pointer_declarator "*****pppppppbStack_160" * (pointer_declarator "****pppppppbStack_160" * (pointer_declarator "***pppppppbStack_160" * (pointer_declarator "**pppppppbStack_160" * (pointer_declarator "*pppppppbStack_160" * identifier))))))) ;) (declaration "byte *******pppppppbStack_15c;" type_identifier (pointer_declarator "*******pppppppbStack_15c" * (pointer_declarator "******pppppppbStack_15c" * (pointer_declarator "*****pppppppbStack_15c" * (pointer_declarator "****pppppppbStack_15c" * (pointer_declarator "***pppppppbStack_15c" * (pointer_declarator "**pppppppbStack_15c" * (pointer_declarator "*pppppppbStack_15c" * identifier))))))) ;) (declaration "byte *******local_158;" type_identifier (pointer_declarator "*******local_158" * (pointer_declarator "******local_158" * (pointer_declarator "*****local_158" * (pointer_declarator "****local_158" * (pointer_declarator "***local_158" * (pointer_declarator "**local_158" * (pointer_declarator "*local_158" * identifier))))))) ;) (declaration "byte ******local_154;" type_identifier (pointer_declarator "******local_154" * (pointer_declarator "*****local_154" * (pointer_declarator "****local_154" * (pointer_declarator "***local_154" * (pointer_declarator "**local_154" * (pointer_declarator "*local_154" * identifier)))))) ;) (declaration "byte *******local_150;" type_identifier (pointer_declarator "*******local_150" * (pointer_declarator "******local_150" * (pointer_declarator "*****local_150" * (pointer_declarator "****local_150" * (pointer_declarator "***local_150" * (pointer_declarator "**local_150" * (pointer_declarator "*local_150" * identifier))))))) ;) (declaration "undefined *local_148;" type_identifier (pointer_declarator "*local_148" * identifier) ;) (declaration "code *local_13c;" type_identifier (pointer_declarator "*local_13c" * identifier) ;) (declaration "byte *******local_138;" type_identifier (pointer_declarator "*******local_138" * (pointer_declarator "******local_138" * (pointer_declarator "*****local_138" * (pointer_declarator "****local_138" * (pointer_declarator "***local_138" * (pointer_declarator "**local_138" * (pointer_declarator "*local_138" * identifier))))))) ;) (declaration "code *local_134;" type_identifier (pointer_declarator "*local_134" * identifier) ;) (declaration "int *local_130;" primitive_type (pointer_declarator "*local_130" * identifier) ;) (declaration "byte *******local_12c;" type_identifier (pointer_declarator "*******local_12c" * (pointer_declarator "******local_12c" * (pointer_declarator "*****local_12c" * (pointer_declarator "****local_12c" * (pointer_declarator "***local_12c" * (pointer_declarator "**local_12c" * (pointer_declarator "*local_12c" * identifier))))))) ;) (declaration "byte *******local_128;" type_identifier (pointer_declarator "*******local_128" * (pointer_declarator "******local_128" * (pointer_declarator "*****local_128" * (pointer_declarator "****local_128" * (pointer_declarator "***local_128" * (pointer_declarator "**local_128" * (pointer_declarator "*local_128" * identifier))))))) ;) (declaration "byte *******local_124;" type_identifier (pointer_declarator "*******local_124" * (pointer_declarator "******local_124" * (pointer_declarator "*****local_124" * (pointer_declarator "****local_124" * (pointer_declarator "***local_124" * (pointer_declarator "**local_124" * (pointer_declarator "*local_124" * identifier))))))) ;) (declaration "code *local_120;" type_identifier (pointer_declarator "*local_120" * identifier) ;) (declaration "code *local_11c;" type_identifier (pointer_declarator "*local_11c" * identifier) ;) (declaration "int local_118;" primitive_type identifier ;) (declaration "byte *******local_114;" type_identifier (pointer_declarator "*******local_114" * (pointer_declarator "******local_114" * (pointer_declarator "*****local_114" * (pointer_declarator "****local_114" * (pointer_declarator "***local_114" * (pointer_declarator "**local_114" * (pointer_declarator "*local_114" * identifier))))))) ;) (declaration "byte *******local_110;" type_identifier (pointer_declarator "*******local_110" * (pointer_declarator "******local_110" * (pointer_declarator "*****local_110" * (pointer_declarator "****local_110" * (pointer_declarator "***local_110" * (pointer_declarator "**local_110" * (pointer_declarator "*local_110" * identifier))))))) ;) (declaration "byte *******local_10c;" type_identifier (pointer_declarator "*******local_10c" * (pointer_declarator "******local_10c" * (pointer_declarator "*****local_10c" * (pointer_declarator "****local_10c" * (pointer_declarator "***local_10c" * (pointer_declarator "**local_10c" * (pointer_declarator "*local_10c" * identifier))))))) ;) (declaration "byte *******local_108;" type_identifier (pointer_declarator "*******local_108" * (pointer_declarator "******local_108" * (pointer_declarator "*****local_108" * (pointer_declarator "****local_108" * (pointer_declarator "***local_108" * (pointer_declarator "**local_108" * (pointer_declarator "*local_108" * identifier))))))) ;) (declaration "byte *******local_104;" type_identifier (pointer_declarator "*******local_104" * (pointer_declarator "******local_104" * (pointer_declarator "*****local_104" * (pointer_declarator "****local_104" * (pointer_declarator "***local_104" * (pointer_declarator "**local_104" * (pointer_declarator "*local_104" * identifier))))))) ;) (declaration "byte *******local_100;" type_identifier (pointer_declarator "*******local_100" * (pointer_declarator "******local_100" * (pointer_declarator "*****local_100" * (pointer_declarator "****local_100" * (pointer_declarator "***local_100" * (pointer_declarator "**local_100" * (pointer_declarator "*local_100" * identifier))))))) ;) (declaration "byte *******local_fc;" type_identifier (pointer_declarator "*******local_fc" * (pointer_declarator "******local_fc" * (pointer_declarator "*****local_fc" * (pointer_declarator "****local_fc" * (pointer_declarator "***local_fc" * (pointer_declarator "**local_fc" * (pointer_declarator "*local_fc" * identifier))))))) ;) (declaration "undefined4 local_f8;" type_identifier identifier ;) (declaration "byte *******local_f4;" type_identifier (pointer_declarator "*******local_f4" * (pointer_declarator "******local_f4" * (pointer_declarator "*****local_f4" * (pointer_declarator "****local_f4" * (pointer_declarator "***local_f4" * (pointer_declarator "**local_f4" * (pointer_declarator "*local_f4" * identifier))))))) ;) (declaration "int local_f0;" primitive_type identifier ;) (declaration "byte *******local_e8;" type_identifier (pointer_declarator "*******local_e8" * (pointer_declarator "******local_e8" * (pointer_declarator "*****local_e8" * (pointer_declarator "****local_e8" * (pointer_declarator "***local_e8" * (pointer_declarator "**local_e8" * (pointer_declarator "*local_e8" * identifier))))))) ;) (declaration "byte *******local_e4;" type_identifier (pointer_declarator "*******local_e4" * (pointer_declarator "******local_e4" * (pointer_declarator "*****local_e4" * (pointer_declarator "****local_e4" * (pointer_declarator "***local_e4" * (pointer_declarator "**local_e4" * (pointer_declarator "*local_e4" * identifier))))))) ;) (declaration "int local_e0;" primitive_type identifier ;) (declaration "undefined4 local_dc;" type_identifier identifier ;) (declaration "byte *******local_d8;" type_identifier (pointer_declarator "*******local_d8" * (pointer_declarator "******local_d8" * (pointer_declarator "*****local_d8" * (pointer_declarator "****local_d8" * (pointer_declarator "***local_d8" * (pointer_declarator "**local_d8" * (pointer_declarator "*local_d8" * identifier))))))) ;) (declaration "undefined4 local_d4;" type_identifier identifier ;) (declaration "byte *******local_d0;" type_identifier (pointer_declarator "*******local_d0" * (pointer_declarator "******local_d0" * (pointer_declarator "*****local_d0" * (pointer_declarator "****local_d0" * (pointer_declarator "***local_d0" * (pointer_declarator "**local_d0" * (pointer_declarator "*local_d0" * identifier))))))) ;) (declaration "byte ******local_cc;" type_identifier (pointer_declarator "******local_cc" * (pointer_declarator "*****local_cc" * (pointer_declarator "****local_cc" * (pointer_declarator "***local_cc" * (pointer_declarator "**local_cc" * (pointer_declarator "*local_cc" * identifier)))))) ;) (declaration "byte *******local_c4;" type_identifier (pointer_declarator "*******local_c4" * (pointer_declarator "******local_c4" * (pointer_declarator "*****local_c4" * (pointer_declarator "****local_c4" * (pointer_declarator "***local_c4" * (pointer_declarator "**local_c4" * (pointer_declarator "*local_c4" * identifier))))))) ;) (declaration "undefined *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "undefined4 local_bc;" type_identifier identifier ;) (declaration "undefined4 local_b8;" type_identifier identifier ;) (declaration "byte *******local_b4;" type_identifier (pointer_declarator "*******local_b4" * (pointer_declarator "******local_b4" * (pointer_declarator "*****local_b4" * (pointer_declarator "****local_b4" * (pointer_declarator "***local_b4" * (pointer_declarator "**local_b4" * (pointer_declarator "*local_b4" * identifier))))))) ;) (declaration "byte *******local_b0;" type_identifier (pointer_declarator "*******local_b0" * (pointer_declarator "******local_b0" * (pointer_declarator "*****local_b0" * (pointer_declarator "****local_b0" * (pointer_declarator "***local_b0" * (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier))))))) ;) (declaration "int *local_ac;" primitive_type (pointer_declarator "*local_ac" * identifier) ;) (declaration "byte *******local_a8;" type_identifier (pointer_declarator "*******local_a8" * (pointer_declarator "******local_a8" * (pointer_declarator "*****local_a8" * (pointer_declarator "****local_a8" * (pointer_declarator "***local_a8" * (pointer_declarator "**local_a8" * (pointer_declarator "*local_a8" * identifier))))))) ;) (declaration "byte *******local_a4;" type_identifier (pointer_declarator "*******local_a4" * (pointer_declarator "******local_a4" * (pointer_declarator "*****local_a4" * (pointer_declarator "****local_a4" * (pointer_declarator "***local_a4" * (pointer_declarator "**local_a4" * (pointer_declarator "*local_a4" * identifier))))))) ;) (declaration "byte *******local_a0;" type_identifier (pointer_declarator "*******local_a0" * (pointer_declarator "******local_a0" * (pointer_declarator "*****local_a0" * (pointer_declarator "****local_a0" * (pointer_declarator "***local_a0" * (pointer_declarator "**local_a0" * (pointer_declarator "*local_a0" * identifier))))))) ;) (declaration "undefined4 local_9c;" type_identifier identifier ;) (declaration "byte *******local_88;" type_identifier (pointer_declarator "*******local_88" * (pointer_declarator "******local_88" * (pointer_declarator "*****local_88" * (pointer_declarator "****local_88" * (pointer_declarator "***local_88" * (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier))))))) ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "byte *******local_48;" type_identifier (pointer_declarator "*******local_48" * (pointer_declarator "******local_48" * (pointer_declarator "*****local_48" * (pointer_declarator "****local_48" * (pointer_declarator "***local_48" * (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier))))))) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "byte *******local_40;" type_identifier (pointer_declarator "*******local_40" * (pointer_declarator "******local_40" * (pointer_declarator "*****local_40" * (pointer_declarator "****local_40" * (pointer_declarator "***local_40" * (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier))))))) ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "byte *******local_38;" type_identifier (pointer_declarator "*******local_38" * (pointer_declarator "******local_38" * (pointer_declarator "*****local_38" * (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier))))))) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_40 = (byte *******)0x0;" (assignment_expression "local_40 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pppppppbVar31 = (byte *******)0x0;" (assignment_expression "pppppppbVar31 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar6 = param_3;" (assignment_expression "pppppppbVar6 = param_3" identifier = identifier) ;) (expression_statement "pppppppbVar19 = param_4;" (assignment_expression "pppppppbVar19 = param_4" identifier = identifier) ;) (expression_statement "local_b4 = unaff_s3;" (assignment_expression "local_b4 = unaff_s3" identifier = identifier) ;) (expression_statement "local_b0 = unaff_s4;" (assignment_expression "local_b0 = unaff_s4" identifier = identifier) ;) (if_statement "if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }" if (parenthesized_expression "(0 < (int)param_4)" ( (binary_expression "0 < (int)param_4" number_literal < (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }" { (expression_statement "pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);" (assignment_expression "pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + -0x80)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + -0x80)" ( (binary_expression "PTR_LAB_00190b40 + -0x80" identifier + number_literal) )))) ;) (expression_statement "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);" (assignment_expression "pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40)" identifier = (cast_expression "(byte *******)(*pcVar26)(param_3,&local_40)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*pcVar26)(param_3,&local_40)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(param_3,&local_40)" ( identifier , (pointer_expression "&local_40" & identifier) ))))) ;) (expression_statement "unaff_s0 = PTR_LAB_00190c2c;" (assignment_expression "unaff_s0 = PTR_LAB_00190c2c" identifier = identifier) ;) (expression_statement "pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);" (assignment_expression "pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc)" identifier = (cast_expression "(byte *******)(puVar23 + -0x4cdc)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar23 + -0x4cdc)" ( (binary_expression "puVar23 + -0x4cdc" identifier + number_literal) )))) ;) (expression_statement "local_84 = local_3c;" (assignment_expression "local_84 = local_3c" identifier = identifier) ;) (expression_statement "local_88 = local_40;" (assignment_expression "local_88 = local_40" identifier = identifier) ;) (expression_statement "pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);" (assignment_expression "pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + 0x7b38)" ( (binary_expression "PTR_LAB_00190c2c + 0x7b38" identifier + number_literal) )))) ;) (expression_statement "FUN_000b7b38(param_1,param_2);" (call_expression "FUN_000b7b38(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) (expression_statement "puVar1 = PTR_LAB_00190ba4;" (assignment_expression "puVar1 = PTR_LAB_00190ba4" identifier = identifier) ;) (expression_statement "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "local_b4 = param_3;" (assignment_expression "local_b4 = param_3" identifier = identifier) ;) (expression_statement "local_b0 = param_4;" (assignment_expression "local_b0 = param_4" identifier = identifier) ;) (if_statement "if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }" if (parenthesized_expression "((int)pppppppbVar31 < (int)param_4)" ( (binary_expression "(int)pppppppbVar31 < (int)param_4" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }" { (expression_statement "unaff_s5 = &local_44;" (assignment_expression "unaff_s5 = &local_44" identifier = (pointer_expression "&local_44" & identifier)) ;) (expression_statement "unaff_s6 = (byte *******)&local_48;" (assignment_expression "unaff_s6 = (byte *******)&local_48" identifier = (cast_expression "(byte *******)&local_48" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_48" & identifier))) ;) (expression_statement "unaff_s7 = (byte *******)&local_38;" (assignment_expression "unaff_s7 = (byte *******)&local_38" identifier = (cast_expression "(byte *******)&local_38" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_38" & identifier))) ;) (expression_statement "pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);" (assignment_expression "pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x61f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + 0x61f0)" ( (binary_expression "PTR_LAB_00190ba4 + 0x61f0" identifier + number_literal) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);" (assignment_expression "pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" identifier = (cast_expression "(byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390" identifier + number_literal) )))) ;) (expression_statement "pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);" (assignment_expression "pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8)" identifier = (cast_expression "(byte *******)(PTR_LAB_00190958 + 0x30a8)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_LAB_00190958 + 0x30a8)" ( (binary_expression "PTR_LAB_00190958 + 0x30a8" identifier + number_literal) )))) ;) (expression_statement "pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);" (assignment_expression "pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" identifier = (cast_expression "(byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c" identifier + number_literal) )))) ;) (do_statement "do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);" do (compound_statement "{\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      }" { (expression_statement "iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);" (assignment_expression "iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5)" identifier = (call_expression "(*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5)" ( (cast_expression "(byte *)((int)param_3 + (int)pppppppbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + (int)pppppppbVar31)" ( (binary_expression "(int)param_3 + (int)pppppppbVar31" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier , identifier )))) ;) (expression_statement "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);" (assignment_expression "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12)" identifier = (cast_expression "(byte *******)((int)pppppppbVar31 + iVar12)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar31 + iVar12)" ( (binary_expression "(int)pppppppbVar31 + iVar12" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);" (assignment_expression "pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0)" identifier = (cast_expression "(byte *******)(puVar23 + -0x4cd0)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar23 + -0x4cd0)" ( (binary_expression "puVar23 + -0x4cd0" identifier + number_literal) )))) ;) (expression_statement "local_88 = pppppppbVar11;" (assignment_expression "local_88 = pppppppbVar11" identifier = identifier) ;) (if_statement "if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (compound_statement "{\n          local_88 = pppppppbVar18;\n        }" { (expression_statement "local_88 = pppppppbVar18;" (assignment_expression "local_88 = pppppppbVar18" identifier = identifier) ;) })) (expression_statement "pppppppbVar19 = local_48;" (assignment_expression "pppppppbVar19 = local_48" identifier = identifier) ;) (expression_statement "(*pcVar30)(param_1,param_2);" (call_expression "(*pcVar30)(param_1,param_2)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) (expression_statement "pppppppbVar3 = local_48;" (assignment_expression "pppppppbVar3 = local_48" identifier = identifier) ;) (if_statement "if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }" if (parenthesized_expression "((int)param_4 - (int)pppppppbVar31 <= (int)local_48)" ( (binary_expression "(int)param_4 - (int)pppppppbVar31 <= (int)local_48" (binary_expression "(int)param_4 - (int)pppppppbVar31" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) <= (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }" { (expression_statement "pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);" (assignment_expression "pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31)" identifier = (cast_expression "(byte *******)((int)param_4 - (int)pppppppbVar31)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_4 - (int)pppppppbVar31)" ( (binary_expression "(int)param_4 - (int)pppppppbVar31" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (if_statement "if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }" if (parenthesized_expression "(0 < (int)pppppppbVar3)" ( (binary_expression "0 < (int)pppppppbVar3" number_literal < (cast_expression "(int)pppppppbVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }" { (expression_statement "unaff_s0 = (undefined *)0x0;" (assignment_expression "unaff_s0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);" do (compound_statement "{\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          }" { (expression_statement "iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);" (assignment_expression "iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7)" identifier = (call_expression "(*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7)" (parenthesized_expression "(*(code *)(puVar1 + 0x610c))" ( (pointer_expression "*(code *)(puVar1 + 0x610c)" * (cast_expression "(code *)(puVar1 + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x610c)" ( (binary_expression "puVar1 + 0x610c" identifier + number_literal) )))) )) (argument_list "((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7)" ( (cast_expression "(byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31))" ( (binary_expression "(int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s0 + (int)pppppppbVar31)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s0 + (int)pppppppbVar31)" ( (binary_expression "unaff_s0 + (int)pppppppbVar31" identifier + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) , identifier )))) ;) (expression_statement "unaff_s0 = unaff_s0 + iVar12;" (assignment_expression "unaff_s0 = unaff_s0 + iVar12" identifier = (binary_expression "unaff_s0 + iVar12" identifier + identifier)) ;) (expression_statement "pppppppbVar6 = pppppppbVar17;" (assignment_expression "pppppppbVar6 = pppppppbVar17" identifier = identifier) ;) (expression_statement "pppppppbVar19 = local_38;" (assignment_expression "pppppppbVar19 = local_38" identifier = identifier) ;) (expression_statement "(*pcVar30)(param_1,param_2);" (call_expression "(*pcVar30)(param_1,param_2)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "((int)unaff_s0 < (int)pppppppbVar3)" ( (binary_expression "(int)unaff_s0 < (int)pppppppbVar3" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppppbVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);" (assignment_expression "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0)" identifier = (cast_expression "(byte *******)((int)pppppppbVar31 + (int)unaff_s0)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar31 + (int)unaff_s0)" ( (binary_expression "(int)pppppppbVar31 + (int)unaff_s0" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (if_statement "if ((int)param_4 <= (int)pppppppbVar31) break;" if (parenthesized_expression "((int)param_4 <= (int)pppppppbVar31)" ( (binary_expression "(int)param_4 <= (int)pppppppbVar31" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);" (assignment_expression "iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7)" identifier = (call_expression "(*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7)" ( (cast_expression "(byte *)((int)param_3 + (int)pppppppbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + (int)pppppppbVar31)" ( (binary_expression "(int)param_3 + (int)pppppppbVar31" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier )))) ;) (expression_statement "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);" (assignment_expression "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12)" identifier = (cast_expression "(byte *******)((int)pppppppbVar31 + iVar12)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar31 + iVar12)" ( (binary_expression "(int)pppppppbVar31 + iVar12" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_84 = local_3c + local_34;" (assignment_expression "local_84 = local_3c + local_34" identifier = (binary_expression "local_3c + local_34" identifier + identifier)) ;) (expression_statement "pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));" (assignment_expression "pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c))" identifier = (cast_expression "(byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c))" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c))" ( (binary_expression "(byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c)" (cast_expression "(byte *)((int)local_40 + (int)local_38)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_40 + (int)local_38)" ( (binary_expression "(int)local_40 + (int)local_38" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (parenthesized_expression "(local_84 < local_3c)" ( (binary_expression "local_84 < local_3c" identifier < identifier) ))) )))) ;) (expression_statement "pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);" (assignment_expression "pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc)" identifier = (cast_expression "(byte *******)(puVar28 + -0x4cdc)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar28 + -0x4cdc)" ( (binary_expression "puVar28 + -0x4cdc" identifier + number_literal) )))) ;) (expression_statement "local_88 = pppppppbVar19;" (assignment_expression "local_88 = pppppppbVar19" identifier = identifier) ;) (expression_statement "local_40 = pppppppbVar19;" (assignment_expression "local_40 = pppppppbVar19" identifier = identifier) ;) (expression_statement "local_3c = local_84;" (assignment_expression "local_3c = local_84" identifier = identifier) ;) (expression_statement "(*pcVar30)(param_1,param_2);" (call_expression "(*pcVar30)(param_1,param_2)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "((int)pppppppbVar31 < (int)param_4)" ( (binary_expression "(int)pppppppbVar31 < (int)param_4" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) })) (if_statement "if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar2)" ( (binary_expression "local_2c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return pppppppbVar31;\n  }" { (return_statement "return pppppppbVar31;" return identifier ;) })) (expression_statement "uVar35 = 0xb80e8;" (assignment_expression "uVar35 = 0xb80e8" identifier = number_literal) ;) (expression_statement "iVar12 = local_2c;" (assignment_expression "iVar12 = local_2c" identifier = identifier) ;) (expression_statement "puVar28 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar28 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_148 = puVar28 + 0xe0838;" (assignment_expression "local_148 = puVar28 + 0xe0838" identifier = (binary_expression "puVar28 + 0xe0838" identifier + number_literal)) ;) (expression_statement "local_130 = *(int **)(puVar28 + 0xd8d3c);" (assignment_expression "local_130 = *(int **)(puVar28 + 0xd8d3c)" identifier = (pointer_expression "*(int **)(puVar28 + 0xd8d3c)" * (cast_expression "(int **)(puVar28 + 0xd8d3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xd8d3c)" ( (binary_expression "puVar28 + 0xd8d3c" identifier + number_literal) ))))) ;) (expression_statement "local_110 = (byte *******)0x0;" (assignment_expression "local_110 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_c4 = (byte *******)*local_130;" (assignment_expression "local_c4 = (byte *******)*local_130" identifier = (cast_expression "(byte *******)*local_130" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*local_130" * identifier))) ;) (expression_statement "iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);" (assignment_expression "iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8)" identifier = (pointer_expression "*(int *)(*(int *)(iVar12 + 4) + 8)" * (cast_expression "(int *)(*(int *)(iVar12 + 4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + 4) + 8)" ( (binary_expression "*(int *)(iVar12 + 4) + 8" (pointer_expression "*(int *)(iVar12 + 4)" * (cast_expression "(int *)(iVar12 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "local_100 = (byte *******)0x0;" (assignment_expression "local_100 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_fc = (byte *******)0x0;" (assignment_expression "local_fc = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) (expression_statement "pppppppbVar18 = pppppppbVar6;" (assignment_expression "pppppppbVar18 = pppppppbVar6" identifier = identifier) ;) (expression_statement "local_c0 = unaff_s0;" (assignment_expression "local_c0 = unaff_s0" identifier = identifier) ;) (expression_statement "local_bc = param_1;" (assignment_expression "local_bc = param_1" identifier = identifier) ;) (expression_statement "local_b8 = param_2;" (assignment_expression "local_b8 = param_2" identifier = identifier) ;) (expression_statement "local_ac = unaff_s5;" (assignment_expression "local_ac = unaff_s5" identifier = identifier) ;) (expression_statement "local_a8 = unaff_s6;" (assignment_expression "local_a8 = unaff_s6" identifier = identifier) ;) (expression_statement "local_a4 = unaff_s7;" (assignment_expression "local_a4 = unaff_s7" identifier = identifier) ;) (expression_statement "local_a0 = pppppppbVar31;" (assignment_expression "local_a0 = pppppppbVar31" identifier = identifier) ;) (expression_statement "local_9c = uVar35;" (assignment_expression "local_9c = uVar35" identifier = identifier) ;) (expression_statement "uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);" (assignment_expression "uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6)" identifier = (call_expression "(*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6)" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))" ( (pointer_expression "*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68)" * (cast_expression "(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar28 + 0xd8ac0) + 0x7f68)" ( (binary_expression "*(int *)(puVar28 + 0xd8ac0) + 0x7f68" (pointer_expression "*(int *)(puVar28 + 0xd8ac0)" * (cast_expression "(int *)(puVar28 + 0xd8ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xd8ac0)" ( (binary_expression "puVar28 + 0xd8ac0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*pppppppbVar6)" ( (pointer_expression "*pppppppbVar6" * identifier) )))) ;) (expression_statement "uVar4 = (uint)((ulonglong)uVar37 >> 0x20);" (assignment_expression "uVar4 = (uint)((ulonglong)uVar37 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar37 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar37 >> 0x20)" ( (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar14 = (uint)uVar37;" (assignment_expression "uVar14 = (uint)uVar37" identifier = (cast_expression "(uint)uVar37" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);" (assignment_expression "iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1)" identifier = (call_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d60) + 0x6c88)" ( (binary_expression "*(int *)(local_148 + -0x7d60) + 0x6c88" (pointer_expression "*(int *)(local_148 + -0x7d60)" * (cast_expression "(int *)(local_148 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d60)" ( (binary_expression "local_148 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppppbVar6[1],1)" ( (subscript_expression "pppppppbVar6[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);" (assignment_expression "uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1])" identifier = (call_expression "(**(code **)(local_148 + -0x7f64))(pppppppbVar6[1])" (parenthesized_expression "(**(code **)(local_148 + -0x7f64))" ( (pointer_expression "**(code **)(local_148 + -0x7f64)" * (pointer_expression "*(code **)(local_148 + -0x7f64)" * (cast_expression "(code **)(local_148 + -0x7f64)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7f64)" ( (binary_expression "local_148 + -0x7f64" identifier + number_literal) ))))) )) (argument_list "(pppppppbVar6[1])" ( (subscript_expression "pppppppbVar6[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }" if (parenthesized_expression "(local_110 == (byte *******)0x0)" ( (binary_expression "local_110 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }" { (expression_statement "pppppppbVar19 = (byte *******)(iVar5 + 8);" (assignment_expression "pppppppbVar19 = (byte *******)(iVar5 + 8)" identifier = (cast_expression "(byte *******)(iVar5 + 8)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);" (assignment_expression "pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f)" identifier = (cast_expression "(byte *******)((int)pppppppbVar19 >> 0x1f)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar19 >> 0x1f)" ( (binary_expression "(int)pppppppbVar19 >> 0x1f" (cast_expression "(int)pppppppbVar19" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);" (assignment_expression "pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110)" identifier = (cast_expression "(byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d68) + 0x51c0)" ( (binary_expression "*(int *)(local_148 + -0x7d68) + 0x51c0" (pointer_expression "*(int *)(local_148 + -0x7d68)" * (cast_expression "(int *)(local_148 + -0x7d68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d68)" ( (binary_expression "local_148 + -0x7d68" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(&local_110)" ( (pointer_expression "&local_110" & identifier) ))))) ;) (if_statement "if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;" if (parenthesized_expression "(pppppppbVar6 == (byte *******)0x0)" ( (binary_expression "pppppppbVar6 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_000b82dc;" goto statement_identifier ;)) (if_statement "if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }" if (parenthesized_expression "(0 < iVar5)" ( (binary_expression "0 < iVar5" number_literal < identifier) )) (compound_statement "{\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }" { (expression_statement "(**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);" (call_expression "(**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5)" (parenthesized_expression "(**(code **)(local_148 + -0x7af4))" ( (pointer_expression "**(code **)(local_148 + -0x7af4)" * (pointer_expression "*(code **)(local_148 + -0x7af4)" * (cast_expression "(code **)(local_148 + -0x7af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7af4)" ( (binary_expression "local_148 + -0x7af4" identifier + number_literal) ))))) )) (argument_list "(pppppppbVar6,uVar35,iVar5)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);" (assignment_expression "pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10)" identifier = (cast_expression "(byte *******)((uVar4 << 0xb) >> 0x10)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uVar4 << 0xb) >> 0x10)" ( (binary_expression "(uVar4 << 0xb) >> 0x10" (parenthesized_expression "(uVar4 << 0xb)" ( (binary_expression "uVar4 << 0xb" identifier << number_literal) )) >> number_literal) )))) ;) (expression_statement "local_138 = (byte *******)(uVar14 & 0x7fffffff);" (assignment_expression "local_138 = (byte *******)(uVar14 & 0x7fffffff)" identifier = (cast_expression "(byte *******)(uVar14 & 0x7fffffff)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(uVar14 & 0x7fffffff)" ( (binary_expression "uVar14 & 0x7fffffff" identifier & number_literal) )))) ;) (expression_statement "iVar33 = uVar4 << 0x1b;" (assignment_expression "iVar33 = uVar4 << 0x1b" identifier = (binary_expression "uVar4 << 0x1b" identifier << number_literal)) ;) (if_statement "if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }" if (parenthesized_expression "(pppppppbVar31 != (byte *******)0x0)" ( (binary_expression "pppppppbVar31 != (byte *******)0x0" identifier != (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }" { (expression_statement "local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);" (assignment_expression "local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f)" identifier = (cast_expression "(byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uVar4 & 0xf) << 1 | uVar14 >> 0x1f)" ( (binary_expression "(uVar4 & 0xf) << 1 | uVar14 >> 0x1f" (binary_expression "(uVar4 & 0xf) << 1" (parenthesized_expression "(uVar4 & 0xf)" ( (binary_expression "uVar4 & 0xf" identifier & number_literal) )) << number_literal) | (binary_expression "uVar14 >> 0x1f" identifier >> number_literal)) )))) ;) (expression_statement "local_158 = pppppppbVar31;" (assignment_expression "local_158 = pppppppbVar31" identifier = identifier) ;) (expression_statement "local_150 = local_138;" (assignment_expression "local_150 = local_138" identifier = identifier) ;) (if_statement "if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }" if (parenthesized_expression "(iVar33 < 0)" ( (binary_expression "iVar33 < 0" identifier < number_literal) )) (compound_statement "{\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }" { (expression_statement "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);" (assignment_expression "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c44)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c44" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c60)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c60" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (goto_statement "goto LAB_000b8528;" goto statement_identifier ;) })) (expression_statement "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);" (assignment_expression "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc8) + 0x30a8)" ( (binary_expression "*(int *)(local_148 + -0x7fc8) + 0x30a8" (pointer_expression "*(int *)(local_148 + -0x7fc8)" * (cast_expression "(int *)(local_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc8)" ( (binary_expression "local_148 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c60)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c60" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (if_statement "if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" { (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" identifier = (cast_expression "(byte *******)&local_e8" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_e8" & identifier))) ;) (expression_statement "local_e8 = (byte *******)0x0;" (assignment_expression "local_e8 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_104 = (byte *******)0x0;" (assignment_expression "local_104 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e4 = (byte *******)0x0;" (assignment_expression "local_e4 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (if_statement "if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }" if (parenthesized_expression "(3 < iVar5)" ( (binary_expression "3 < iVar5" number_literal < identifier) )) (compound_statement "{\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }" { (expression_statement "local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);" (assignment_expression "local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" identifier = (cast_expression "(byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" ( (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3)" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppppbVar6 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + 2)" ( (binary_expression "(int)pppppppbVar6 + 2" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppppbVar6 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + 3)" ( (binary_expression "(int)pppppppbVar6 + 3" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) & number_literal) )))) ;) (expression_statement "local_124 = (byte *******)(uint)((int)local_12c < iVar5);" (assignment_expression "local_124 = (byte *******)(uint)((int)local_12c < iVar5)" identifier = (cast_expression "(byte *******)(uint)((int)local_12c < iVar5)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(uint)((int)local_12c < iVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_12c < iVar5)" ( (binary_expression "(int)local_12c < iVar5" (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))))) ;) (expression_statement "pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);" (assignment_expression "pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff)" identifier = (cast_expression "(byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff)" ( (binary_expression "(uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff" (binary_expression "(uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1)" (binary_expression "(uint)*(byte *)pppppppbVar6 * 0x100" (binary_expression "(uint)*(byte *)pppppppbVar6" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)pppppppbVar6" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal) + (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppppbVar6 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + 1)" ( (binary_expression "(int)pppppppbVar6 + 1" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) & number_literal) )))) ;) (if_statement "if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" if (parenthesized_expression "(local_124 == (byte *******)0x0)" ( (binary_expression "local_124 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }" { (if_statement "if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }" if (parenthesized_expression "((int)local_12c <= iVar5)" ( (binary_expression "(int)local_12c <= iVar5" (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }" { (if_statement "if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }" if (parenthesized_expression "(pppppppbVar31 == (byte *******)0x0)" ( (binary_expression "pppppppbVar31 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                pppppppbVar31 = local_12c;\n              }" { (expression_statement "pppppppbVar31 = local_12c;" (assignment_expression "pppppppbVar31 = local_12c" identifier = identifier) ;) })) (goto_statement "goto LAB_000b887c;" goto statement_identifier ;) })) }) (else_clause "else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" else (compound_statement "{\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" { (expression_statement "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);" (call_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_12c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)local_12c)" ( (binary_expression "(int)pppppppbVar6 + (int)local_12c" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&local_104" & identifier) ))) ;) (if_statement "if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }" if (parenthesized_expression "((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0))" ( (binary_expression "(pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)" (parenthesized_expression "(pppppppbVar31 == (byte *******)0x0)" ( (binary_expression "pppppppbVar31 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(pppppppbVar31 = local_104, local_104 == (byte *******)0x0)" ( (comma_expression "pppppppbVar31 = local_104, local_104 == (byte *******)0x0" (assignment_expression "pppppppbVar31 = local_104" identifier = identifier) , (binary_expression "local_104 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) ))) )) (compound_statement "{\n              pppppppbVar31 = local_12c;\n            }" { (expression_statement "pppppppbVar31 = local_12c;" (assignment_expression "pppppppbVar31 = local_12c" identifier = identifier) ;) })) (labeled_statement "LAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" statement_identifier : (if_statement "if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" if (parenthesized_expression "((int)pppppppbVar31 <= iVar5)" ( (binary_expression "(int)pppppppbVar31 <= iVar5" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" { (if_statement "if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }" if (parenthesized_expression "(0 < (int)(pppppppbVar31 + -1))" ( (binary_expression "0 < (int)(pppppppbVar31 + -1)" number_literal < (cast_expression "(int)(pppppppbVar31 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pppppppbVar31 + -1)" ( (binary_expression "pppppppbVar31 + -1" identifier + number_literal) )))) )) (compound_statement "{\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }" { (expression_statement "local_128 = (byte *******)&local_f4;" (assignment_expression "local_128 = (byte *******)&local_f4" identifier = (cast_expression "(byte *******)&local_f4" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_f4" & identifier))) ;) (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar33 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar33 = *(int *)(local_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));" do (compound_statement "{\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                }" { (expression_statement "iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);" (assignment_expression "iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128)" identifier = (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128)" ( (cast_expression "(byte *)((int)pppppppbVar6 + iVar32 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + iVar32 + 4)" ( (binary_expression "(int)pppppppbVar6 + iVar32 + 4" (binary_expression "(int)pppppppbVar6 + iVar32" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) , identifier )))) ;) (expression_statement "iVar32 = iVar32 + iVar7;" (assignment_expression "iVar32 = iVar32 + iVar7" identifier = (binary_expression "iVar32 + iVar7" identifier + identifier)) ;) (expression_statement "pppppppbVar18 = (byte *******)(iVar33 + -0x556c);" (assignment_expression "pppppppbVar18 = (byte *******)(iVar33 + -0x556c)" identifier = (cast_expression "(byte *******)(iVar33 + -0x556c)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar33 + -0x556c)" ( (binary_expression "iVar33 + -0x556c" identifier + number_literal) )))) ;) (expression_statement "(*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);" (call_expression "(*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , (cast_expression "(byte *******)(iVar33 + -0x556c)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar33 + -0x556c)" ( (binary_expression "iVar33 + -0x556c" identifier + number_literal) ))) , identifier ))) ;) }) while (parenthesized_expression "(iVar32 < (int)(pppppppbVar31 + -1))" ( (binary_expression "iVar32 < (int)(pppppppbVar31 + -1)" identifier < (cast_expression "(int)(pppppppbVar31 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pppppppbVar31 + -1)" ( (binary_expression "pppppppbVar31 + -1" identifier + number_literal) )))) )) ;) })) (expression_statement "pppppppbVar19 = local_104;" (assignment_expression "pppppppbVar19 = local_104" identifier = identifier) ;) (if_statement "if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }" if (parenthesized_expression "(local_104 == (byte *******)0x0)" ( (binary_expression "local_104 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                pppppppbVar19 = local_12c;\n              }" { (expression_statement "pppppppbVar19 = local_12c;" (assignment_expression "pppppppbVar19 = local_12c" identifier = identifier) ;) })) (if_statement "if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }" if (parenthesized_expression "((int)pppppppbVar19 <= iVar5)" ( (binary_expression "(int)pppppppbVar19 <= iVar5" (cast_expression "(int)pppppppbVar19" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }" { (expression_statement "pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);" (assignment_expression "pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31)" identifier = (cast_expression "(byte *******)((int)pppppppbVar19 - (int)pppppppbVar31)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar19 - (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar19 - (int)pppppppbVar31" (cast_expression "(int)pppppppbVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);" (assignment_expression "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31)" identifier = (cast_expression "(byte *******)((int)pppppppbVar6 + (int)pppppppbVar31)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);" (assignment_expression "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7e40)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7e40" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7e40(&local_110,&local_100);" (call_expression "FUN_000b7e40(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (if_statement "if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }" if (parenthesized_expression "((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0))" ( (binary_expression "(local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)" (parenthesized_expression "(local_124 != (byte *******)0x0)" ( (binary_expression "local_124 != (byte *******)0x0" identifier != (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(local_110 == (byte *******)0x0)" ( (binary_expression "local_110 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) (compound_statement "{\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }" { (expression_statement "local_124 = (byte *******)&local_f4;" (assignment_expression "local_124 = (byte *******)&local_f4" identifier = (cast_expression "(byte *******)&local_f4" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_f4" & identifier))) ;) (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);" (assignment_expression "local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + -0x3854)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + -0x3854" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;" (assignment_expression "local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c" identifier = (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c6c" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pbVar27 = (byte *)0x0;" (assignment_expression "pbVar27 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppppbVar31 = local_12c;" (assignment_expression "pppppppbVar31 = local_12c" identifier = identifier) ;) (while_statement "while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }" { (expression_statement "local_128 = local_124;" (assignment_expression "local_128 = local_124" identifier = identifier) ;) (expression_statement "pppppppbVar11 = local_124;" (assignment_expression "pppppppbVar11 = local_124" identifier = identifier) ;) (expression_statement "local_124 = pppppppbVar31;" (assignment_expression "local_124 = pppppppbVar31" identifier = identifier) ;) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11)" identifier = (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier )))) ;) (expression_statement "pppppppbVar11 = local_128;" (assignment_expression "pppppppbVar11 = local_128" identifier = identifier) ;) (expression_statement "pppppppbVar31 = (byte *******)((int)local_124 + iVar32);" (assignment_expression "pppppppbVar31 = (byte *******)((int)local_124 + iVar32)" identifier = (cast_expression "(byte *******)((int)local_124 + iVar32)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_124 + iVar32)" ( (binary_expression "(int)local_124 + iVar32" (cast_expression "(int)local_124" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pbVar27 = pbVar27 + (int)local_f4;" (assignment_expression "pbVar27 = pbVar27 + (int)local_f4" identifier = (binary_expression "pbVar27 + (int)local_f4" identifier + (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)pppppppbVar31 < iVar5) break;" if (parenthesized_expression "((int)pppppppbVar31 < iVar5)" ( (binary_expression "(int)pppppppbVar31 < iVar5" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (break_statement "break;" break ;)) (expression_statement "local_128 = local_12c;" (assignment_expression "local_128 = local_12c" identifier = identifier) ;) (expression_statement "pppppppbVar17 = local_124;" (assignment_expression "pppppppbVar17 = local_124" identifier = identifier) ;) (expression_statement "local_124 = pppppppbVar11;" (assignment_expression "local_124 = pppppppbVar11" identifier = identifier) ;) (labeled_statement "LAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);" statement_identifier : (expression_statement "pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);" (assignment_expression "pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27)" identifier = (cast_expression "(byte *)((int)pppppppbVar6 + (int)pbVar27)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pbVar27)" ( (binary_expression "(int)pppppppbVar6 + (int)pbVar27" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "pbVar34 = pbVar27;" (assignment_expression "pbVar34 = pbVar27" identifier = identifier) ;) (if_statement "if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }" if (parenthesized_expression "(local_12c != pppppppbVar17)" ( (binary_expression "local_12c != pppppppbVar17" identifier != identifier) )) (compound_statement "{\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }" { (expression_statement "iVar32 = (*local_134)(pbVar15,local_124);" (assignment_expression "iVar32 = (*local_134)(pbVar15,local_124)" identifier = (call_expression "(*local_134)(pbVar15,local_124)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "(pbVar15,local_124)" ( identifier , identifier )))) ;) (if_statement "if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;" if (parenthesized_expression "((int)local_e4 < (int)local_f4)" ( (binary_expression "(int)local_e4 < (int)local_f4" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b8afc;" goto statement_identifier ;)) (expression_statement "local_e4 = local_f4;" (assignment_expression "local_e4 = local_f4" identifier = identifier) ;) (expression_statement "pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));" (assignment_expression "pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32))" identifier = (cast_expression "(byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)(pbVar27 + iVar32))" ( (binary_expression "(int)pppppppbVar6 + (int)(pbVar27 + iVar32)" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(pbVar27 + iVar32)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar27 + iVar32)" ( (binary_expression "pbVar27 + iVar32" identifier + identifier) )))) )))) ;) (expression_statement "pbVar34 = pbVar27 + iVar32;" (assignment_expression "pbVar34 = pbVar27 + iVar32" identifier = (binary_expression "pbVar27 + iVar32" identifier + identifier)) ;) })) (expression_statement "iVar32 = (*local_134)(pbVar15,local_124);" (assignment_expression "iVar32 = (*local_134)(pbVar15,local_124)" identifier = (call_expression "(*local_134)(pbVar15,local_124)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "(pbVar15,local_124)" ( identifier , identifier )))) ;) (expression_statement "pbVar34 = pbVar34 + iVar32;" (assignment_expression "pbVar34 = pbVar34 + iVar32" identifier = (binary_expression "pbVar34 + iVar32" identifier + identifier)) ;) (expression_statement "pppppppbVar18 = local_f4;" (assignment_expression "pppppppbVar18 = local_f4" identifier = identifier) ;) (if_statement "if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;" if (parenthesized_expression "(iVar5 < (int)((int)local_f4 + (int)pbVar34))" ( (binary_expression "iVar5 < (int)((int)local_f4 + (int)pbVar34)" identifier < (cast_expression "(int)((int)local_f4 + (int)pbVar34)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_f4 + (int)pbVar34)" ( (binary_expression "(int)local_f4 + (int)pbVar34" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (goto_statement "goto LAB_000b8afc;" goto statement_identifier ;)) (expression_statement "(*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));" (call_expression "(*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34))" (parenthesized_expression "(*local_11c)" ( (pointer_expression "*local_11c" * identifier) )) (argument_list "(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34))" ( (pointer_expression "&local_110" & identifier) , identifier , identifier , (cast_expression "(byte *)((int)pppppppbVar6 + (int)pbVar34)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pbVar34)" ( (binary_expression "(int)pppppppbVar6 + (int)pbVar34" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar34" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (expression_statement "pbVar34 = pbVar34 + (int)local_f4;" (assignment_expression "pbVar34 = pbVar34 + (int)local_f4" identifier = (binary_expression "pbVar34 + (int)local_f4" identifier + (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_158 = local_e8;" (assignment_expression "local_158 = local_e8" identifier = identifier) ;) (expression_statement "(*local_13c)(&local_110,&local_100,local_118,local_e4);" (call_expression "(*local_13c)(&local_110,&local_100,local_118,local_e4)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100,local_118,local_e4)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , identifier , identifier ))) ;) (expression_statement "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);" (assignment_expression "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34)" identifier = (cast_expression "(byte *******)((int)pppppppbVar6 + (int)pbVar34)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pbVar34)" ( (binary_expression "(int)pppppppbVar6 + (int)pbVar34" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);" (assignment_expression "pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34)" identifier = (cast_expression "(byte *******)((int)local_128 - (int)pbVar34)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_128 - (int)pbVar34)" ( (binary_expression "(int)local_128 - (int)pbVar34" (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(*local_120)(&local_110,&local_100);" (call_expression "(*local_120)(&local_110,&local_100)" (parenthesized_expression "(*local_120)" ( (pointer_expression "*local_120" * identifier) )) (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (if_statement "if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;" if (parenthesized_expression "(((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))" ( (binary_expression "((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0)" (parenthesized_expression "((int)pppppppbVar31 >= iVar5)" ( (binary_expression "(int)pppppppbVar31 >= iVar5" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) >= identifier) )) || (parenthesized_expression "(local_110 != (byte *******)0x0)" ( (binary_expression "local_110 != (byte *******)0x0" identifier != (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) (goto_statement "goto LAB_000b84cc;" goto statement_identifier ;)) })) (expression_statement "local_114 = local_124;" (assignment_expression "local_114 = local_124" identifier = identifier) ;) (expression_statement "local_124 = local_128;" (assignment_expression "local_124 = local_128" identifier = identifier) ;) (expression_statement "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);" (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier ))) ;) (expression_statement "local_128 = (byte *******)(pbVar27 + (int)local_f4);" (assignment_expression "local_128 = (byte *******)(pbVar27 + (int)local_f4)" identifier = (cast_expression "(byte *******)(pbVar27 + (int)local_f4)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(pbVar27 + (int)local_f4)" ( (binary_expression "pbVar27 + (int)local_f4" identifier + (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppbVar17 = local_114;" (assignment_expression "pppppppbVar17 = local_114" identifier = identifier) ;) (if_statement "if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;" if (parenthesized_expression "((int)local_128 <= (int)local_12c)" ( (binary_expression "(int)local_128 <= (int)local_12c" (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b8a74;" goto statement_identifier ;)) (labeled_statement "LAB_000b8afc:\n                  local_110 = (byte *******)0x10b;" statement_identifier : (expression_statement "local_110 = (byte *******)0x10b;" (assignment_expression "local_110 = (byte *******)0x10b" identifier = (cast_expression "(byte *******)0x10b" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) })) (goto_statement "goto LAB_000b84cc;" goto statement_identifier ;) })) }))) }))) (expression_statement "local_110 = (byte *******)0x10b;" (assignment_expression "local_110 = (byte *******)0x10b" identifier = (cast_expression "(byte *******)0x10b" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" identifier = identifier) ;) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;) })) (expression_statement "pppppppbVar18 = (byte *******)&DAT_00000007;" (assignment_expression "pppppppbVar18 = (byte *******)&DAT_00000007" identifier = (cast_expression "(byte *******)&DAT_00000007" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "local_fc = (byte *******)0x0;" (assignment_expression "local_fc = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);" (assignment_expression "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + 0xb5c)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + 0xb5c" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000ac7ac(&local_110,&local_100);" (call_expression "FUN_000ac7ac(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }" else (compound_statement "{\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }" { (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" identifier = (cast_expression "(byte *******)&local_e8" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_e8" & identifier))) ;) (expression_statement "local_e8 = (byte *******)0x0;" (assignment_expression "local_e8 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_108 = (byte *******)0x0;" (assignment_expression "local_108 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e4 = (byte *******)0x0;" (assignment_expression "local_e4 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);" (assignment_expression "pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" identifier = (cast_expression "(byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" ( (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3)" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppppbVar6 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + 2)" ( (binary_expression "(int)pppppppbVar6 + 2" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppppbVar6 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + 3)" ( (binary_expression "(int)pppppppbVar6 + 3" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) & number_literal) )))) ;) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (expression_statement "local_12c = pppppppbVar31;" (assignment_expression "local_12c = pppppppbVar31" identifier = identifier) ;) (expression_statement "pppppppbVar19 = pppppppbVar31;" (assignment_expression "pppppppbVar19 = pppppppbVar31" identifier = identifier) ;) (if_statement "if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }" if (parenthesized_expression "((int)pppppppbVar31 < iVar5)" ( (binary_expression "(int)pppppppbVar31 < iVar5" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }" { (expression_statement "iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);" (assignment_expression "iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c)" identifier = (call_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&local_10c" & identifier) )))) ;) (expression_statement "local_12c = (byte *******)((int)pppppppbVar31 + iVar32);" (assignment_expression "local_12c = (byte *******)((int)pppppppbVar31 + iVar32)" identifier = (cast_expression "(byte *******)((int)pppppppbVar31 + iVar32)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar31 + iVar32)" ( (binary_expression "(int)pppppppbVar31 + iVar32" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppppbVar19 = local_10c;" (assignment_expression "pppppppbVar19 = local_10c" identifier = identifier) ;) })) (expression_statement "local_10c = pppppppbVar19;" (assignment_expression "local_10c = pppppppbVar19" identifier = identifier) ;) (expression_statement "pppppppbVar19 = local_10c + -1;" (assignment_expression "pppppppbVar19 = local_10c + -1" identifier = (binary_expression "local_10c + -1" identifier + number_literal)) ;) (expression_statement "local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);" (assignment_expression "local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7c34)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7c34" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);" (call_expression "FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1)" identifier (argument_list "(&local_110,&local_100,pppppppbVar6 + 1)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , (binary_expression "pppppppbVar6 + 1" identifier + number_literal) ))) ;) (expression_statement "pppppppbVar18 = local_10c;" (assignment_expression "pppppppbVar18 = local_10c" identifier = identifier) ;) (if_statement "if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" if (parenthesized_expression "((int)local_10c < (int)pppppppbVar31)" ( (binary_expression "(int)local_10c < (int)pppppppbVar31" (cast_expression "(int)local_10c" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" { (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);" (assignment_expression "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + -0x3854)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + -0x3854" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);" (assignment_expression "local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c6c)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c6c" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);" do (compound_statement "{\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          }" { (expression_statement "local_128 = pppppppbVar18;" (assignment_expression "local_128 = pppppppbVar18" identifier = identifier) ;) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104)" identifier = (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar18)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar18" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&local_104" & identifier) )))) ;) (expression_statement "local_128 = (byte *******)((int)local_128 + iVar32);" (assignment_expression "local_128 = (byte *******)((int)local_128 + iVar32)" identifier = (cast_expression "(byte *******)((int)local_128 + iVar32)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_128 + iVar32)" ( (binary_expression "(int)local_128 + iVar32" (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_e4 = local_108;" (assignment_expression "local_e4 = local_108" identifier = identifier) ;) (expression_statement "(*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );" (call_expression "(*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        )" (parenthesized_expression "(*local_120)" ( (pointer_expression "*local_120" * identifier) )) (argument_list "(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        )" ( (pointer_expression "&local_110" & identifier) , identifier , identifier , (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_128)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)local_128)" ( (binary_expression "(int)pppppppbVar6 + (int)local_128" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (expression_statement "local_158 = local_e8;" (assignment_expression "local_158 = local_e8" identifier = identifier) ;) (expression_statement "(*local_13c)(&local_110,&local_100,local_11c,local_e4);" (call_expression "(*local_13c)(&local_110,&local_100,local_11c,local_e4)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100,local_11c,local_e4)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , identifier , identifier ))) ;) (expression_statement "pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);" (assignment_expression "pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104)" identifier = (cast_expression "(byte *******)((int)local_128 + (int)local_104)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_128 + (int)local_104)" ( (binary_expression "(int)local_128 + (int)local_104" (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_104" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppbVar11 = pppppppbVar31;" (assignment_expression "pppppppbVar11 = pppppppbVar31" identifier = identifier) ;) (if_statement "if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }" if (parenthesized_expression "((int)local_12c < iVar5)" ( (binary_expression "(int)local_12c < iVar5" (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }" { (expression_statement "local_128 = pppppppbVar18;" (assignment_expression "local_128 = pppppppbVar18" identifier = identifier) ;) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4)" identifier = (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_12c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)local_12c)" ( (binary_expression "(int)pppppppbVar6 + (int)local_12c" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&local_f4" & identifier) )))) ;) (expression_statement "local_12c = (byte *******)((int)local_12c + iVar32);" (assignment_expression "local_12c = (byte *******)((int)local_12c + iVar32)" identifier = (cast_expression "(byte *******)((int)local_12c + iVar32)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_12c + iVar32)" ( (binary_expression "(int)local_12c + iVar32" (cast_expression "(int)local_12c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppppbVar18 = local_128;" (assignment_expression "pppppppbVar18 = local_128" identifier = identifier) ;) (expression_statement "pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);" (assignment_expression "pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4)" identifier = (cast_expression "(byte *******)((int)local_10c + (int)local_f4)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_10c + (int)local_f4)" ( (binary_expression "(int)local_10c + (int)local_f4" (cast_expression "(int)local_10c" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);" (assignment_expression "pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18)" identifier = (cast_expression "(byte *******)((int)pppppppbVar11 - (int)pppppppbVar18)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar11 - (int)pppppppbVar18)" ( (binary_expression "(int)pppppppbVar11 - (int)pppppppbVar18" (cast_expression "(int)pppppppbVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_10c = pppppppbVar11;" (assignment_expression "local_10c = pppppppbVar11" identifier = identifier) ;) (expression_statement "(*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));" (call_expression "(*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18))" (parenthesized_expression "(*(code *)local_124)" ( (pointer_expression "*(code *)local_124" * (cast_expression "(code *)local_124" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18))" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar18)" ( (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar18" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (expression_statement "pppppppbVar18 = local_10c;" (assignment_expression "pppppppbVar18 = local_10c" identifier = identifier) ;) (if_statement "if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;" if (parenthesized_expression "((int)pppppppbVar31 <= (int)local_10c)" ( (binary_expression "(int)pppppppbVar31 <= (int)local_10c" (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_10c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b84cc;" goto statement_identifier ;)) (expression_statement "local_128 = local_10c;" (assignment_expression "local_128 = local_10c" identifier = identifier) ;) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108)" identifier = (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108)" (parenthesized_expression "(*local_134)" ( (pointer_expression "*local_134" * identifier) )) (argument_list "((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108)" ( (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_10c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + (int)local_10c)" ( (binary_expression "(int)pppppppbVar6 + (int)local_10c" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_10c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&local_108" & identifier) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)((int)local_128 + iVar32);" (assignment_expression "pppppppbVar18 = (byte *******)((int)local_128 + iVar32)" identifier = (cast_expression "(byte *******)((int)local_128 + iVar32)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_128 + iVar32)" ( (binary_expression "(int)local_128 + iVar32" (cast_expression "(int)local_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((int)pppppppbVar18 < (int)pppppppbVar31)" ( (binary_expression "(int)pppppppbVar18 < (int)pppppppbVar31" (cast_expression "(int)pppppppbVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppppbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "iVar5 = *(int *)(local_148 + -0x7d78);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7d78)" identifier = (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" else (compound_statement "{\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" { (labeled_statement "LAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);" statement_identifier : (expression_statement "iVar5 = *(int *)(local_148 + -0x7d78);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7d78)" identifier = (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) ))))) ;)) }))) (expression_statement "pcVar26 = (code *)(iVar5 + 0x7c);" (assignment_expression "pcVar26 = (code *)(iVar5 + 0x7c)" identifier = (cast_expression "(code *)(iVar5 + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x7c)" ( (binary_expression "iVar5 + 0x7c" identifier + number_literal) )))) ;) (expression_statement "(*pcVar26)(local_138);" (call_expression "(*pcVar26)(local_138)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(local_138)" ( identifier ))) ;) }))) (goto_statement "goto LAB_000b82e8;" goto statement_identifier ;) })) (if_statement "if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }" if (parenthesized_expression "((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))" ( (binary_expression "(uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1)" (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1)" ( (comma_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "uVar14 == 1" identifier == number_literal)) ))) )) (compound_statement "{\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }" { (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4cc4)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4cc4" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (if_statement "if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" if (parenthesized_expression "(iVar33 < 0)" ( (binary_expression "iVar33 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" { (labeled_statement "LAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);" statement_identifier : (expression_statement "iVar32 = *(int *)(local_148 + -0x7d7c);" (assignment_expression "iVar32 = *(int *)(local_148 + -0x7d7c)" identifier = (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) ))))) ;)) (expression_statement "local_e8 = (byte *******)&local_f4;" (assignment_expression "local_e8 = (byte *******)&local_f4" identifier = (cast_expression "(byte *******)&local_f4" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_f4" & identifier))) ;) (expression_statement "local_e4 = (byte *******)0x0;" (assignment_expression "local_e4 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (byte *******)0x0;" (assignment_expression "local_d0 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_cc = (byte ******)0x0;" (assignment_expression "local_cc = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_d8 = local_138;" (assignment_expression "local_d8 = local_138" identifier = identifier) ;) (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" identifier = (cast_expression "(byte *******)&local_e8" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_e8" & identifier))) ;) (expression_statement "local_f4 = pppppppbVar6;" (assignment_expression "local_f4 = pppppppbVar6" identifier = identifier) ;) (expression_statement "local_f0 = iVar5;" (assignment_expression "local_f0 = iVar5" identifier = identifier) ;) (expression_statement "(*(code *)(iVar32 + 0x687c))();" (call_expression "(*(code *)(iVar32 + 0x687c))()" (parenthesized_expression "(*(code *)(iVar32 + 0x687c))" ( (pointer_expression "*(code *)(iVar32 + 0x687c)" * (cast_expression "(code *)(iVar32 + 0x687c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x687c)" ( (binary_expression "iVar32 + 0x687c" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" identifier = identifier) ;) (if_statement "if (local_e0 != 0) goto LAB_000b8260;" if (parenthesized_expression "(local_e0 != 0)" ( (binary_expression "local_e0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) ))))) ;) (do_statement "do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);" do (compound_statement "{\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        }" { (expression_statement "local_154 = local_cc;" (assignment_expression "local_154 = local_cc" identifier = identifier) ;) (expression_statement "local_158 = local_d0;" (assignment_expression "local_158 = local_d0" identifier = identifier) ;) (expression_statement "pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);" (assignment_expression "pppppppbVar18 = (byte *******)(iVar5 + -0x4cac)" identifier = (cast_expression "(byte *******)(iVar5 + -0x4cac)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + -0x4cac)" ( (binary_expression "iVar5 + -0x4cac" identifier + number_literal) )))) ;) (expression_statement "pppppppbVar19 = local_d8;" (assignment_expression "pppppppbVar19 = local_d8" identifier = identifier) ;) (expression_statement "(*local_13c)(&local_110,&local_100);" (call_expression "(*local_13c)(&local_110,&local_100)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (expression_statement "(*(code *)(iVar32 + 0x687c))(local_138);" (call_expression "(*(code *)(iVar32 + 0x687c))(local_138)" (parenthesized_expression "(*(code *)(iVar32 + 0x687c))" ( (pointer_expression "*(code *)(iVar32 + 0x687c)" * (cast_expression "(code *)(iVar32 + 0x687c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x687c)" ( (binary_expression "iVar32 + 0x687c" identifier + number_literal) )))) )) (argument_list "(local_138)" ( identifier ))) ;) }) while (parenthesized_expression "(local_e0 == 0)" ( (binary_expression "local_e0 == 0" identifier == number_literal) )) ;) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" else (compound_statement "{\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" { (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" identifier = identifier) ;) (if_statement "if (iVar5 < 1) goto LAB_000b8260;" if (parenthesized_expression "(iVar5 < 1)" ( (binary_expression "iVar5 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;)) (expression_statement "iVar33 = *(int *)(local_148 + -0x7de0);" (assignment_expression "iVar33 = *(int *)(local_148 + -0x7de0)" identifier = (pointer_expression "*(int *)(local_148 + -0x7de0)" * (cast_expression "(int *)(local_148 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7de0)" ( (binary_expression "local_148 + -0x7de0" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(local_148 + -0x7fc8);" (assignment_expression "iVar7 = *(int *)(local_148 + -0x7fc8)" identifier = (pointer_expression "*(int *)(local_148 + -0x7fc8)" * (cast_expression "(int *)(local_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc8)" ( (binary_expression "local_148 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar8 = *(int *)(local_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (expression_statement "pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);" (assignment_expression "pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc8) + 0x30a8)" ( (binary_expression "*(int *)(local_148 + -0x7fc8) + 0x30a8" (pointer_expression "*(int *)(local_148 + -0x7fc8)" * (cast_expression "(int *)(local_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc8)" ( (binary_expression "local_148 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" identifier = (cast_expression "(byte *******)&local_e8" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_e8" & identifier))) ;) (do_statement "do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);" do (compound_statement "{\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        }" { (expression_statement "pppppppbVar19 = pppppppbVar31;" (assignment_expression "pppppppbVar19 = pppppppbVar31" identifier = identifier) ;) (expression_statement "iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);" (assignment_expression "iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138)" identifier = (call_expression "(*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138)" (parenthesized_expression "(*(code *)(iVar33 + -0x80))" ( (pointer_expression "*(code *)(iVar33 + -0x80)" * (cast_expression "(code *)(iVar33 + -0x80)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + -0x80)" ( (binary_expression "iVar33 + -0x80" identifier + number_literal) )))) )) (argument_list "((byte *)((int)pppppppbVar6 + iVar32),local_138)" ( (cast_expression "(byte *)((int)pppppppbVar6 + iVar32)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar6 + iVar32)" ( (binary_expression "(int)pppppppbVar6 + iVar32" (cast_expression "(int)pppppppbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier )))) ;) (expression_statement "iVar32 = iVar32 + iVar9;" (assignment_expression "iVar32 = iVar32 + iVar9" identifier = (binary_expression "iVar32 + iVar9" identifier + identifier)) ;) (expression_statement "local_158 = local_e4;" (assignment_expression "local_158 = local_e4" identifier = identifier) ;) (expression_statement "pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);" (assignment_expression "pppppppbVar18 = (byte *******)(iVar7 + 0x2db4)" identifier = (cast_expression "(byte *******)(iVar7 + 0x2db4)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar7 + 0x2db4)" ( (binary_expression "iVar7 + 0x2db4" identifier + number_literal) )))) ;) (expression_statement "(*local_13c)(&local_110,&local_100);" (call_expression "(*local_13c)(&local_110,&local_100)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (expression_statement "pppppppbVar31 = (byte *******)(iVar8 + -0x4854);" (assignment_expression "pppppppbVar31 = (byte *******)(iVar8 + -0x4854)" identifier = (cast_expression "(byte *******)(iVar8 + -0x4854)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar8 + -0x4854)" ( (binary_expression "iVar8 + -0x4854" identifier + number_literal) )))) ;) }) while (parenthesized_expression "(iVar32 < iVar5)" ( (binary_expression "iVar32 < iVar5" identifier < identifier) )) ;) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }))) }) (else_clause "else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }" else (compound_statement "{\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }" { (expression_statement "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" ( (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" * (cast_expression "(int *)(local_148 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7cf4)" ( (binary_expression "local_148 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4cb8)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4cb8" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" identifier (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) (if_statement "if (iVar33 < 0) goto LAB_000b8528;" if (parenthesized_expression "(iVar33 < 0)" ( (binary_expression "iVar33 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000b8528;" goto statement_identifier ;)) (expression_statement "pppppppbVar19 = (byte *******)&local_e8;" (assignment_expression "pppppppbVar19 = (byte *******)&local_e8" identifier = (cast_expression "(byte *******)&local_e8" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_e8" & identifier))) ;) (expression_statement "pppppppbVar18 = (byte *******)0x0;" (assignment_expression "pppppppbVar18 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e8 = (byte *******)0x0;" (assignment_expression "local_e8 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);" (assignment_expression "pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5)" identifier = (cast_expression "(byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d68) + 0x52ac)" ( (binary_expression "*(int *)(local_148 + -0x7d68) + 0x52ac" (pointer_expression "*(int *)(local_148 + -0x7d68)" * (cast_expression "(int *)(local_148 + -0x7d68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d68)" ( (binary_expression "local_148 + -0x7d68" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppppbVar6,iVar5)" ( identifier , identifier ))))) ;) (if_statement "if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }" if (parenthesized_expression "(pppppppbVar31 == (byte *******)0x0)" ( (binary_expression "pppppppbVar31 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }" { (expression_statement "local_138 = local_e8;" (assignment_expression "local_138 = local_e8" identifier = identifier) ;) (if_statement "if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }" if (parenthesized_expression "(0 < (int)local_e8[5])" ( (binary_expression "0 < (int)local_e8[5]" number_literal < (cast_expression "(int)local_e8[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_e8[5]" identifier [ number_literal ]))) )) (compound_statement "{\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }" { (expression_statement "pppppppbVar31 = local_e8 + 6;" (assignment_expression "pppppppbVar31 = local_e8 + 6" identifier = (binary_expression "local_e8 + 6" identifier + number_literal)) ;) (expression_statement "iVar5 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7fc4)" identifier = (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "pppppppbVar11 = (byte *******)0x0;" (assignment_expression "pppppppbVar11 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4ca0)" ( (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4ca0" (pointer_expression "*(int *)(local_148 + -0x7fc4)" * (cast_expression "(int *)(local_148 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc4)" ( (binary_expression "local_148 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);" (assignment_expression "local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300)" identifier = (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(local_148 + -0x7fc8) + 0x1300)" ( (binary_expression "*(int *)(local_148 + -0x7fc8) + 0x1300" (pointer_expression "*(int *)(local_148 + -0x7fc8)" * (cast_expression "(int *)(local_148 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7fc8)" ( (binary_expression "local_148 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);" do (compound_statement "{\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          }" { (expression_statement "local_154 = pppppppbVar31[1];" (assignment_expression "local_154 = pppppppbVar31[1]" identifier = (subscript_expression "pppppppbVar31[1]" identifier [ number_literal ])) ;) (expression_statement "local_158 = (byte *******)*pppppppbVar31;" (assignment_expression "local_158 = (byte *******)*pppppppbVar31" identifier = (cast_expression "(byte *******)*pppppppbVar31" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*pppppppbVar31" * identifier))) ;) (expression_statement "pppppppbVar19 = pppppppbVar11;" (assignment_expression "pppppppbVar19 = pppppppbVar11" identifier = identifier) ;) (expression_statement "(*local_13c)(&local_110,&local_100,local_134);" (call_expression "(*local_13c)(&local_110,&local_100,local_134)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100,local_134)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , identifier ))) ;) (if_statement "if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }" if (parenthesized_expression "(0 < (int)pppppppbVar31[1])" ( (binary_expression "0 < (int)pppppppbVar31[1]" number_literal < (cast_expression "(int)pppppppbVar31[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppbVar31[1]" identifier [ number_literal ]))) )) (compound_statement "{\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }" { (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;) (do_statement "do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);" do (compound_statement "{\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              }" { (expression_statement "puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);" (assignment_expression "puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33)" identifier = (cast_expression "(undefined4 *)((int)pppppppbVar31[2] + iVar33)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppbVar31[2] + iVar33)" ( (binary_expression "(int)pppppppbVar31[2] + iVar33" (cast_expression "(int)pppppppbVar31[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppbVar31[2]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "iVar33 = iVar33 + 0xc;" (assignment_expression "iVar33 = iVar33 + 0xc" identifier = (binary_expression "iVar33 + 0xc" identifier + number_literal)) ;) (expression_statement "local_154 = (byte ******)puVar10[2];" (assignment_expression "local_154 = (byte ******)puVar10[2]" identifier = (cast_expression "(byte ******)puVar10[2]" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) ;) (expression_statement "pppppppbVar19 = (byte *******)*puVar10;" (assignment_expression "pppppppbVar19 = (byte *******)*puVar10" identifier = (cast_expression "(byte *******)*puVar10" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "local_158 = (byte *******)puVar10[1];" (assignment_expression "local_158 = (byte *******)puVar10[1]" identifier = (cast_expression "(byte *******)puVar10[1]" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "puVar10[1]" identifier [ number_literal ]))) ;) (expression_statement "(*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);" (call_expression "(*local_13c)(&local_110,&local_100,iVar5 + -0x4c84)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100,iVar5 + -0x4c84)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) , (binary_expression "iVar5 + -0x4c84" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(iVar32 < (int)pppppppbVar31[1])" ( (binary_expression "iVar32 < (int)pppppppbVar31[1]" identifier < (cast_expression "(int)pppppppbVar31[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppbVar31[1]" identifier [ number_literal ]))) )) ;) })) (expression_statement "pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);" (assignment_expression "pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1)" identifier = (cast_expression "(byte *******)((int)pppppppbVar11 + 1)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppbVar11 + 1)" ( (binary_expression "(int)pppppppbVar11 + 1" (cast_expression "(int)pppppppbVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppbVar31 = pppppppbVar31 + 3;" (assignment_expression "pppppppbVar31 = pppppppbVar31 + 3" identifier = (binary_expression "pppppppbVar31 + 3" identifier + number_literal)) ;) (expression_statement "pppppppbVar18 = local_12c;" (assignment_expression "pppppppbVar18 = local_12c" identifier = identifier) ;) (expression_statement "(*local_13c)(&local_110,&local_100);" (call_expression "(*local_13c)(&local_110,&local_100)" (parenthesized_expression "(*local_13c)" ( (pointer_expression "*local_13c" * identifier) )) (argument_list "(&local_110,&local_100)" ( (pointer_expression "&local_110" & identifier) , (pointer_expression "&local_100" & identifier) ))) ;) }) while (parenthesized_expression "((int)pppppppbVar11 < (int)local_138[5])" ( (binary_expression "(int)pppppppbVar11 < (int)local_138[5]" (cast_expression "(int)pppppppbVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_138[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_138[5]" identifier [ number_literal ]))) )) ;) (expression_statement "local_138 = local_e8;" (assignment_expression "local_138 = local_e8" identifier = identifier) ;) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" identifier = identifier) ;) (if_statement "if (local_e8 == (byte *******)0x0) goto LAB_000b8260;" if (parenthesized_expression "(local_e8 == (byte *******)0x0)" ( (binary_expression "local_e8 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_000b8260;" goto statement_identifier ;)) })) (expression_statement "ppppppbVar22 = *local_e8;" (assignment_expression "ppppppbVar22 = *local_e8" identifier = (pointer_expression "*local_e8" * identifier)) ;) (expression_statement "*local_e8 = (byte ******)((int)ppppppbVar22 + -1);" (assignment_expression "*local_e8 = (byte ******)((int)ppppppbVar22 + -1)" (pointer_expression "*local_e8" * identifier) = (cast_expression "(byte ******)((int)ppppppbVar22 + -1)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppbVar22 + -1)" ( (binary_expression "(int)ppppppbVar22 + -1" (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_138 = local_e8;" (assignment_expression "local_138 = local_e8" identifier = identifier) ;) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" identifier = identifier) ;) (if_statement "if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }" if (parenthesized_expression "((int)ppppppbVar22 + -1 < 1)" ( (binary_expression "(int)ppppppbVar22 + -1 < 1" (binary_expression "(int)ppppppbVar22 + -1" (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) < number_literal) )) (compound_statement "{\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }" { (expression_statement "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);" (call_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x380c)" ( (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x380c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" * (cast_expression "(int *)(local_148 + -0x7d7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d7c)" ( (binary_expression "local_148 + -0x7d7c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(local_e8)" ( identifier ))) ;) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000b82e8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000b8260:\n      local_110 = pppppppbVar31;" statement_identifier : (expression_statement "local_110 = pppppppbVar31;" (assignment_expression "local_110 = pppppppbVar31" identifier = identifier) ;)) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6);" (call_expression "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6)" (parenthesized_expression "(**(code **)(local_148 + -0x7fb4))" ( (pointer_expression "**(code **)(local_148 + -0x7fb4)" * (pointer_expression "*(code **)(local_148 + -0x7fb4)" * (cast_expression "(code **)(local_148 + -0x7fb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7fb4)" ( (binary_expression "local_148 + -0x7fb4" identifier + number_literal) ))))) )) (argument_list "(pppppppbVar6)" ( identifier ))) ;) (if_statement "if (local_110 == (byte *******)0x0) goto LAB_000b8300;" if (parenthesized_expression "(local_110 == (byte *******)0x0)" ( (binary_expression "local_110 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_000b8300;" goto statement_identifier ;)) (labeled_statement "LAB_000b8280:\n    pppppppbVar6 = local_110;" statement_identifier : (expression_statement "pppppppbVar6 = local_110;" (assignment_expression "pppppppbVar6 = local_110" identifier = identifier) ;)) (expression_statement "(**(code **)(local_148 + -0x7f4c))(iVar12);" (call_expression "(**(code **)(local_148 + -0x7f4c))(iVar12)" (parenthesized_expression "(**(code **)(local_148 + -0x7f4c))" ( (pointer_expression "**(code **)(local_148 + -0x7f4c)" * (pointer_expression "*(code **)(local_148 + -0x7f4c)" * (cast_expression "(code **)(local_148 + -0x7f4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7f4c)" ( (binary_expression "local_148 + -0x7f4c" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier ))) ;) }) (else_clause "else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }" else (compound_statement "{\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }" { (labeled_statement "LAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;" statement_identifier : (expression_statement "pppppppbVar6 = (byte *******)0x0;" (assignment_expression "pppppppbVar6 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" identifier = (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" ( (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" * (cast_expression "(int *)(local_148 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d78)" ( (binary_expression "local_148 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);" statement_identifier : (expression_statement "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6);" (call_expression "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6)" (parenthesized_expression "(**(code **)(local_148 + -0x7fb4))" ( (pointer_expression "**(code **)(local_148 + -0x7fb4)" * (pointer_expression "*(code **)(local_148 + -0x7fb4)" * (cast_expression "(code **)(local_148 + -0x7fb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7fb4)" ( (binary_expression "local_148 + -0x7fb4" identifier + number_literal) ))))) )) (argument_list "(pppppppbVar6)" ( identifier ))) ;)) (if_statement "if (local_110 != (byte *******)0x0) goto LAB_000b8280;" if (parenthesized_expression "(local_110 != (byte *******)0x0)" ( (binary_expression "local_110 != (byte *******)0x0" identifier != (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_000b8280;" goto statement_identifier ;)) (labeled_statement "LAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);" statement_identifier : (expression_statement "pppppppbVar6 = (byte *******)(iVar12 + 0x14);" (assignment_expression "pppppppbVar6 = (byte *******)(iVar12 + 0x14)" identifier = (cast_expression "(byte *******)(iVar12 + 0x14)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) ;)) (expression_statement "local_154 = (byte ******)0xffffffff;" (assignment_expression "local_154 = (byte ******)0xffffffff" identifier = (cast_expression "(byte ******)0xffffffff" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_158 = (byte *******)0x1;" (assignment_expression "local_158 = (byte *******)0x1" identifier = (cast_expression "(byte *******)0x1" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppbVar18 = local_100;" (assignment_expression "pppppppbVar18 = local_100" identifier = identifier) ;) (expression_statement "pppppppbVar19 = local_fc;" (assignment_expression "pppppppbVar19 = local_fc" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);" (call_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))" ( (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0)" * (cast_expression "(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_148 + -0x7d60) + -0x13c0)" ( (binary_expression "*(int *)(local_148 + -0x7d60) + -0x13c0" (pointer_expression "*(int *)(local_148 + -0x7d60)" * (cast_expression "(int *)(local_148 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_148 + -0x7d60)" ( (binary_expression "local_148 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar12)" ( identifier ))) ;) }))) (expression_statement "pppppppbVar31 = (byte *******)&local_100;" (assignment_expression "pppppppbVar31 = (byte *******)&local_100" identifier = (cast_expression "(byte *******)&local_100" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_100" & identifier))) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }" if (parenthesized_expression "(local_c4 == (byte *******)*local_130)" ( (binary_expression "local_c4 == (byte *******)*local_130" identifier == (cast_expression "(byte *******)*local_130" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*local_130" * identifier))) )) (compound_statement "{\n    return (byte *******)*local_130;\n  }" { (return_statement "return (byte *******)*local_130;" return (cast_expression "(byte *******)*local_130" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*local_130" * identifier)) ;) })) (expression_statement "pcVar29 = *(code **)(local_148 + -0x7b28);" (assignment_expression "pcVar29 = *(code **)(local_148 + -0x7b28)" identifier = (pointer_expression "*(code **)(local_148 + -0x7b28)" * (cast_expression "(code **)(local_148 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_148 + -0x7b28)" ( (binary_expression "local_148 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = FUN_000b8b7c;" (assignment_expression "pcVar36 = FUN_000b8b7c" identifier = identifier) ;) (expression_statement "(*pcVar29)();" (call_expression "(*pcVar29)()" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar30 = pcVar29 + 0xdfda4;" (assignment_expression "pcVar30 = pcVar29 + 0xdfda4" identifier = (binary_expression "pcVar29 + 0xdfda4" identifier + number_literal)) ;) (expression_statement "piVar24 = *(int **)(pcVar29 + 0xd82a8);" (assignment_expression "piVar24 = *(int **)(pcVar29 + 0xd82a8)" identifier = (pointer_expression "*(int **)(pcVar29 + 0xd82a8)" * (cast_expression "(int **)(pcVar29 + 0xd82a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0xd82a8)" ( (binary_expression "pcVar29 + 0xd82a8" identifier + number_literal) ))))) ;) (expression_statement "iStack_17c = *piVar24;" (assignment_expression "iStack_17c = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (expression_statement "pcStack_188 = pcVar30;" (assignment_expression "pcStack_188 = pcVar30" identifier = identifier) ;) (expression_statement "pppppppbStack_174 = (byte *******)&local_100;" (assignment_expression "pppppppbStack_174 = (byte *******)&local_100" identifier = (cast_expression "(byte *******)&local_100" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_100" & identifier))) ;) (expression_statement "pcStack_170 = pcVar26;" (assignment_expression "pcStack_170 = pcVar26" identifier = identifier) ;) (expression_statement "pcStack_16c = pcVar36;" (assignment_expression "pcStack_16c = pcVar36" identifier = identifier) ;) (expression_statement "pppppppbStack_160 = pppppppbVar18;" (assignment_expression "pppppppbStack_160 = pppppppbVar18" identifier = identifier) ;) (expression_statement "pppppppbStack_15c = pppppppbVar19;" (assignment_expression "pppppppbStack_15c = pppppppbVar19" identifier = identifier) ;) (if_statement "if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }" if (parenthesized_expression "(*pppppppbVar31 == (byte ******)0x0)" ( (binary_expression "*pppppppbVar31 == (byte ******)0x0" (pointer_expression "*pppppppbVar31" * identifier) == (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }" { (expression_statement "pppppppbVar17 = (byte *******)&pppppppbStack_160;" (assignment_expression "pppppppbVar17 = (byte *******)&pppppppbStack_160" identifier = (cast_expression "(byte *******)&pppppppbStack_160" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&pppppppbStack_160" & identifier))) ;) (expression_statement "pppppppbStack_180 = pppppppbVar17;" (assignment_expression "pppppppbStack_180 = pppppppbVar17" identifier = identifier) ;) (expression_statement "pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);" (assignment_expression "pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6)" identifier = (cast_expression "(byte *******)sqlite3_vmprintf(pppppppbVar6)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "sqlite3_vmprintf(pppppppbVar6)" identifier (argument_list "(pppppppbVar6)" ( identifier ))))) ;) (expression_statement "pcVar30 = pcStack_188;" (assignment_expression "pcVar30 = pcStack_188" identifier = identifier) ;) (expression_statement "pppppppbVar6 = pppppppbVar17;" (assignment_expression "pppppppbVar6 = pppppppbVar17" identifier = identifier) ;) (if_statement "if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }" if (parenthesized_expression "(pppppppbVar11 == (byte *******)0x0)" ( (binary_expression "pppppppbVar11 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      *pppppppbVar31 = (byte ******)0x7;\n    }" { (expression_statement "*pppppppbVar31 = (byte ******)0x7;" (assignment_expression "*pppppppbVar31 = (byte ******)0x7" (pointer_expression "*pppppppbVar31" * identifier) = (cast_expression "(byte ******)0x7" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) })) }) (else_clause "else {\n    pppppppbVar11 = (byte *******)0x0;\n  }" else (compound_statement "{\n    pppppppbVar11 = (byte *******)0x0;\n  }" { (expression_statement "pppppppbVar11 = (byte *******)0x0;" (assignment_expression "pppppppbVar11 = (byte *******)0x0" identifier = (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }))) (if_statement "if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }" if (parenthesized_expression "(iStack_17c == *piVar24)" ( (binary_expression "iStack_17c == *piVar24" identifier == (pointer_expression "*piVar24" * identifier)) )) (compound_statement "{\n    return pppppppbVar11;\n  }" { (return_statement "return pppppppbVar11;" return identifier ;) })) (expression_statement "pcVar26 = *(code **)(pcVar30 + -0x7b28);" (assignment_expression "pcVar26 = *(code **)(pcVar30 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcVar30 + -0x7b28)" * (cast_expression "(code **)(pcVar30 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + -0x7b28)" ( (binary_expression "pcVar30 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = iStack_17c;" (assignment_expression "iVar12 = iStack_17c" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pppppppbVar11 = (byte *******)&pppppppbStack_190;" (assignment_expression "pppppppbVar11 = (byte *******)&pppppppbStack_190" identifier = (cast_expression "(byte *******)&pppppppbStack_190" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&pppppppbStack_190" & identifier))) ;) (expression_statement "piVar24 = *(int **)(pcVar26 + 0xd8208);" (assignment_expression "piVar24 = *(int **)(pcVar26 + 0xd8208)" identifier = (pointer_expression "*(int **)(pcVar26 + 0xd8208)" * (cast_expression "(int **)(pcVar26 + 0xd8208)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd8208)" ( (binary_expression "pcVar26 + 0xd8208" identifier + number_literal) ))))) ;) (expression_statement "pppppppbVar17 = (byte *******)*piVar24;" (assignment_expression "pppppppbVar17 = (byte *******)*piVar24" identifier = (cast_expression "(byte *******)*piVar24" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*piVar24" * identifier))) ;) (expression_statement "pppppppbVar31 = pppppppbVar17;" (assignment_expression "pppppppbVar31 = pppppppbVar17" identifier = identifier) ;) (expression_statement "pppppppbStack_190 = pppppppbVar18;" (assignment_expression "pppppppbStack_190 = pppppppbVar18" identifier = identifier) ;) (expression_statement "pppppppbStack_18c = pppppppbVar19;" (assignment_expression "pppppppbStack_18c = pppppppbVar19" identifier = identifier) ;) (if_statement "if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }" if (parenthesized_expression "(*(int *)(iVar12 + 8) == 0)" ( (binary_expression "*(int *)(iVar12 + 8) == 0" (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }" { (expression_statement "uVar35 = sqlite3_vmprintf();" (assignment_expression "uVar35 = sqlite3_vmprintf()" identifier = (call_expression "sqlite3_vmprintf()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar12 + 4) = uVar35;" (assignment_expression "*(undefined4 *)(iVar12 + 4) = uVar35" (pointer_expression "*(undefined4 *)(iVar12 + 4)" * (cast_expression "(undefined4 *)(iVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar12 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar12 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar12 + 8)" * (cast_expression "(undefined4 *)(iVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppbVar31 = pppppppbVar11;" (assignment_expression "pppppppbVar31 = pppppppbVar11" identifier = identifier) ;) })) (expression_statement "pppppppbVar11 = (byte *******)*piVar24;" (assignment_expression "pppppppbVar11 = (byte *******)*piVar24" identifier = (cast_expression "(byte *******)*piVar24" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*piVar24" * identifier))) ;) (if_statement "if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }" if (parenthesized_expression "(pppppppbVar17 == pppppppbVar11)" ( (binary_expression "pppppppbVar17 == pppppppbVar11" identifier == identifier) )) (compound_statement "{\n    return pppppppbVar11;\n  }" { (return_statement "return pppppppbVar11;" return identifier ;) })) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd81dc);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd81dc)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xd81dc)" * (cast_expression "(code **)(pcVar26 + 0xd81dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd81dc)" ( (binary_expression "pcVar26 + 0xd81dc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);" (assignment_expression "iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19)" identifier = (call_expression "(*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19)" (parenthesized_expression "(*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))" ( (pointer_expression "*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0)" * (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0)" ( (binary_expression "*(int *)(pcVar26 + 0xd7f04) + 0x3fb0" (pointer_expression "*(int *)(pcVar26 + 0xd7f04)" * (cast_expression "(int *)(pcVar26 + 0xd7f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7f04)" ( (binary_expression "pcVar26 + 0xd7f04" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19)" ( (binary_expression "pppppppbVar6 + 2" identifier + number_literal) , identifier , identifier )))) ;) (if_statement "if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }" if (parenthesized_expression "(pppppppbVar6[2] == (byte ******)0x0)" ( (binary_expression "pppppppbVar6[2] == (byte ******)0x0" (subscript_expression "pppppppbVar6[2]" identifier [ number_literal ]) == (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }" { (expression_statement "ppppppbVar20 = *pppppppbVar6;" (assignment_expression "ppppppbVar20 = *pppppppbVar6" identifier = (pointer_expression "*pppppppbVar6" * identifier)) ;) (expression_statement "(*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);" (call_expression "(*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12)" (parenthesized_expression "(*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))" ( (pointer_expression "*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8)" * (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8)" ( (binary_expression "*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8" (pointer_expression "*(int *)(pcVar26 + 0xd7e8c)" * (cast_expression "(int *)(pcVar26 + 0xd7e8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7e8c)" ( (binary_expression "pcVar26 + 0xd7e8c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar12)" ( identifier ))) ;) (expression_statement "ppppppbVar22 = (byte ******)ppppppbVar20[3];" (assignment_expression "ppppppbVar22 = (byte ******)ppppppbVar20[3]" identifier = (cast_expression "(byte ******)ppppppbVar20[3]" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppbVar20[3]" identifier [ number_literal ]))) ;) (if_statement "if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }" if (parenthesized_expression "((int)ppppppbVar22 < 1)" ( (binary_expression "(int)ppppppbVar22 < 1" (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }" { (expression_statement "iVar5 = *(int *)(pcVar26 + 0xd7ca8);" (assignment_expression "iVar5 = *(int *)(pcVar26 + 0xd7ca8)" identifier = (pointer_expression "*(int *)(pcVar26 + 0xd7ca8)" * (cast_expression "(int *)(pcVar26 + 0xd7ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7ca8)" ( (binary_expression "pcVar26 + 0xd7ca8" identifier + number_literal) ))))) ;) (if_statement "if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }" if (parenthesized_expression "(ppppppbVar22 != (byte ******)0x0)" ( (binary_expression "ppppppbVar22 != (byte ******)0x0" identifier != (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }" { (expression_statement "ppppppbVar25 = (byte ******)0x0;" (assignment_expression "ppppppbVar25 = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (labeled_statement "LAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;" statement_identifier : (expression_statement "ppppppbVar22 = (byte ******)0x0;" (assignment_expression "ppppppbVar22 = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (if_statement "if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }" if (parenthesized_expression "(pppppppbVar31 != (byte *******)0x0)" ( (binary_expression "pppppppbVar31 != (byte *******)0x0" identifier != (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          ppppppbVar22 = *pppppppbVar31;\n        }" { (expression_statement "ppppppbVar22 = *pppppppbVar31;" (assignment_expression "ppppppbVar22 = *pppppppbVar31" identifier = (pointer_expression "*pppppppbVar31" * identifier)) ;) })) (expression_statement "iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();" (assignment_expression "iVar5 = (**(code **)(pcVar26 + 0xd7ed4))()" identifier = (call_expression "(**(code **)(pcVar26 + 0xd7ed4))()" (parenthesized_expression "(**(code **)(pcVar26 + 0xd7ed4))" ( (pointer_expression "**(code **)(pcVar26 + 0xd7ed4)" * (pointer_expression "*(code **)(pcVar26 + 0xd7ed4)" * (cast_expression "(code **)(pcVar26 + 0xd7ed4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd7ed4)" ( (binary_expression "pcVar26 + 0xd7ed4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }" if (parenthesized_expression "((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0))" ( (binary_expression "(iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) || (parenthesized_expression "(pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)" ( (comma_expression "pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0" (assignment_expression "pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31)" identifier = (cast_expression "(byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31)" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31)" (parenthesized_expression "(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))" ( (pointer_expression "*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354)" * (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xd7ef4) + 0x354)" ( (binary_expression "*(int *)(pcVar26 + 0xd7ef4) + 0x354" (pointer_expression "*(int *)(pcVar26 + 0xd7ef4)" * (cast_expression "(int *)(pcVar26 + 0xd7ef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7ef4)" ( (binary_expression "pcVar26 + 0xd7ef4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppppbVar31)" ( identifier ))))) , (binary_expression "pppppppbVar19 == (byte *******)0x0" identifier == (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) ))) )) (compound_statement "{\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }" { (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd7cb8);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd7cb8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" * (cast_expression "(code **)(pcVar26 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd7cb8)" ( (binary_expression "pcVar26 + 0xd7cb8" identifier + number_literal) ))))) ;) (expression_statement "pppppppbVar6[2] = (byte ******)0x7;" (assignment_expression "pppppppbVar6[2] = (byte ******)0x7" (subscript_expression "pppppppbVar6[2]" identifier [ number_literal ]) = (cast_expression "(byte ******)0x7" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "(*pcVar26)(iVar12);" (call_expression "(*pcVar26)(iVar12)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar12)" ( identifier ))) ;) (goto_statement "goto LAB_000b8d20;" goto statement_identifier ;) })) (expression_statement "pppppppbVar6 = pppppppbVar19 + 1;" (assignment_expression "pppppppbVar6 = pppppppbVar19 + 1" identifier = (binary_expression "pppppppbVar19 + 1" identifier + number_literal)) ;) (if_statement "if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }" if (parenthesized_expression "(0 < (int)ppppppbVar22)" ( (binary_expression "0 < (int)ppppppbVar22" number_literal < (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }" { (if_statement "if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;" if (parenthesized_expression "(pppppppbVar19[1] == ppppppbVar25)" ( (binary_expression "pppppppbVar19[1] == ppppppbVar25" (subscript_expression "pppppppbVar19[1]" identifier [ number_literal ]) == identifier) )) (goto_statement "goto LAB_000b8e6c;" goto statement_identifier ;)) (expression_statement "ppppppbVar20 = (byte ******)0x0;" (assignment_expression "ppppppbVar20 = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }" if (parenthesized_expression "((int)pppppppbVar19[1] <= (int)ppppppbVar25)" ( (binary_expression "(int)pppppppbVar19[1] <= (int)ppppppbVar25" (cast_expression "(int)pppppppbVar19[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppbVar19[1]" identifier [ number_literal ])) <= (cast_expression "(int)ppppppbVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }" { (expression_statement "ppppppbVar20 = (byte ******)0x0;" (assignment_expression "ppppppbVar20 = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppbVar31 = pppppppbVar19 + 2;" (assignment_expression "pppppppbVar31 = pppppppbVar19 + 2" identifier = (binary_expression "pppppppbVar19 + 2" identifier + number_literal)) ;) (do_statement "do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);" do (compound_statement "{\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            }" { (expression_statement "pppppppbVar6 = pppppppbVar31;" (assignment_expression "pppppppbVar6 = pppppppbVar31" identifier = identifier) ;) (expression_statement "ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);" (assignment_expression "ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1)" identifier = (cast_expression "(byte ******)((int)ppppppbVar20 + 1)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppbVar20 + 1)" ( (binary_expression "(int)ppppppbVar20 + 1" (cast_expression "(int)ppppppbVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;" if (parenthesized_expression "(ppppppbVar22 == ppppppbVar20)" ( (binary_expression "ppppppbVar22 == ppppppbVar20" identifier == identifier) )) (goto_statement "goto LAB_000b8e64;" goto statement_identifier ;)) (if_statement "if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;" if (parenthesized_expression "(*pppppppbVar6 == ppppppbVar25)" ( (binary_expression "*pppppppbVar6 == ppppppbVar25" (pointer_expression "*pppppppbVar6" * identifier) == identifier) )) (goto_statement "goto LAB_000b8e6c;" goto statement_identifier ;)) (expression_statement "pppppppbVar31 = pppppppbVar6 + 1;" (assignment_expression "pppppppbVar31 = pppppppbVar6 + 1" identifier = (binary_expression "pppppppbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)*pppppppbVar6 <= (int)ppppppbVar25)" ( (binary_expression "(int)*pppppppbVar6 <= (int)ppppppbVar25" (cast_expression "(int)*pppppppbVar6" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppppbVar6" * identifier)) <= (cast_expression "(int)ppppppbVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;" (assignment_expression "pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22" identifier = (binary_expression "pppppppbVar19 + (int)ppppppbVar22" identifier + (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "ppppppbVar16 = ppppppbVar22;" (assignment_expression "ppppppbVar16 = ppppppbVar22" identifier = identifier) ;) (do_statement "do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);" do (compound_statement "{\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          }" { (expression_statement "ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);" (assignment_expression "ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1)" identifier = (cast_expression "(byte ******)((int)ppppppbVar16 + -1)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppbVar16 + -1)" ( (binary_expression "(int)ppppppbVar16 + -1" (cast_expression "(int)ppppppbVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppbVar31[1] = *pppppppbVar31;" (assignment_expression "pppppppbVar31[1] = *pppppppbVar31" (subscript_expression "pppppppbVar31[1]" identifier [ number_literal ]) = (pointer_expression "*pppppppbVar31" * identifier)) ;) (expression_statement "pppppppbVar31 = pppppppbVar31 + -1;" (assignment_expression "pppppppbVar31 = pppppppbVar31 + -1" identifier = (binary_expression "pppppppbVar31 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)ppppppbVar20 < (int)ppppppbVar16)" ( (binary_expression "(int)ppppppbVar20 < (int)ppppppbVar16" (cast_expression "(int)ppppppbVar20" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppbVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (labeled_statement "LAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;" statement_identifier : (expression_statement "*pppppppbVar6 = ppppppbVar25;" (assignment_expression "*pppppppbVar6 = ppppppbVar25" (pointer_expression "*pppppppbVar6" * identifier) = identifier) ;)) (expression_statement "*pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);" (assignment_expression "*pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1)" (pointer_expression "*pppppppbVar19" * identifier) = (cast_expression "(byte ******)((int)ppppppbVar22 + 1)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppbVar22 + 1)" ( (binary_expression "(int)ppppppbVar22 + 1" (cast_expression "(int)ppppppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0xd7cb8))(iVar12);" (call_expression "(**(code **)(pcVar26 + 0xd7cb8))(iVar12)" (parenthesized_expression "(**(code **)(pcVar26 + 0xd7cb8))" ( (pointer_expression "**(code **)(pcVar26 + 0xd7cb8)" * (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" * (cast_expression "(code **)(pcVar26 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd7cb8)" ( (binary_expression "pcVar26 + 0xd7cb8" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier ))) ;)) (return_statement "return pppppppbVar19;" return identifier ;) })) }) (else_clause "else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }" else (compound_statement "{\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }" { (expression_statement "ppppppbVar25 = (byte ******)0x0;" (assignment_expression "ppppppbVar25 = (byte ******)0x0" identifier = (cast_expression "(byte ******)0x0" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppbVar21 = ppppppbVar20[4];" (assignment_expression "pppppbVar21 = ppppppbVar20[4]" identifier = (subscript_expression "ppppppbVar20[4]" identifier [ number_literal ])) ;) (expression_statement "pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);" (assignment_expression "pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8)" identifier = (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8)" ( (binary_expression "*(int *)(pcVar26 + 0xd7ef4) + 0x20c8" (pointer_expression "*(int *)(pcVar26 + 0xd7ef4)" * (cast_expression "(int *)(pcVar26 + 0xd7ef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7ef4)" ( (binary_expression "pcVar26 + 0xd7ef4" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);" do (compound_statement "{\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      }" { (expression_statement "ppppbVar13 = *pppppbVar21;" (assignment_expression "ppppbVar13 = *pppppbVar21" identifier = (pointer_expression "*pppppbVar21" * identifier)) ;) (expression_statement "pppppbVar21 = pppppbVar21 + 1;" (assignment_expression "pppppbVar21 = pppppbVar21 + 1" identifier = (binary_expression "pppppbVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = iVar12;" (assignment_expression "iVar5 = iVar12" identifier = identifier) ;) (if_statement "if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" if (parenthesized_expression "(ppppbVar13 == (byte ****)0x0)" ( (binary_expression "ppppbVar13 == (byte ****)0x0" identifier == (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }" { (labeled_statement "joined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;" statement_identifier : (if_statement "if (iVar5 == 0) goto LAB_000b8dcc;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b8dcc;" goto statement_identifier ;))) }) (else_clause "else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" else (if_statement "if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" { (expression_statement "iVar5 = (*pcVar30)(ppppbVar13,iVar12);" (assignment_expression "iVar5 = (*pcVar30)(ppppbVar13,iVar12)" identifier = (call_expression "(*pcVar30)(ppppbVar13,iVar12)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(ppppbVar13,iVar12)" ( identifier , identifier )))) ;) (goto_statement "goto joined_r0x000b8d9c;" goto statement_identifier ;) })))) (expression_statement "ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);" (assignment_expression "ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1)" identifier = (cast_expression "(byte ******)((int)ppppppbVar25 + 1)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppbVar25 + 1)" ( (binary_expression "(int)ppppppbVar25 + 1" (cast_expression "(int)ppppppbVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(pcVar26 + 0xd7ca8);" (assignment_expression "iVar5 = *(int *)(pcVar26 + 0xd7ca8)" identifier = (pointer_expression "*(int *)(pcVar26 + 0xd7ca8)" * (cast_expression "(int *)(pcVar26 + 0xd7ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xd7ca8)" ( (binary_expression "pcVar26 + 0xd7ca8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(ppppppbVar25 != ppppppbVar22)" ( (binary_expression "ppppppbVar25 != ppppppbVar22" identifier != identifier) )) ;) }))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd7cb8);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd7cb8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" * (cast_expression "(code **)(pcVar26 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd7cb8)" ( (binary_expression "pcVar26 + 0xd7cb8" identifier + number_literal) ))))) ;) (expression_statement "FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);" (call_expression "FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12)" identifier (argument_list "(pppppppbVar6,iVar5 + -0x4c3c,iVar12)" ( identifier , (binary_expression "iVar5 + -0x4c3c" identifier + number_literal) , identifier ))) ;) (expression_statement "(*pcVar26)(iVar12);" (call_expression "(*pcVar26)(iVar12)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar12)" ( identifier ))) ;) }) (else_clause "else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }" else (compound_statement "{\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }" { (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd7cb8);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd7cb8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" * (cast_expression "(code **)(pcVar26 + 0xd7cb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xd7cb8)" ( (binary_expression "pcVar26 + 0xd7cb8" identifier + number_literal) ))))) ;) }))) (labeled_statement "LAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);" statement_identifier : (expression_statement "(*pcVar26)(pppppppbVar31);" (call_expression "(*pcVar26)(pppppppbVar31)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pppppppbVar31)" ( identifier ))) ;)) (return_statement "return (byte *******)0x0;" return (cast_expression "(byte *******)0x0" ( (type_descriptor "byte *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))))) )))))))))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (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 IDENT + LIT) )))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ))) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_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 , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) + (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (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 IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression IDENT >> LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) , (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (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 = (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 = (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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >= IDENT) )) || (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;)) })) (goto_statement goto statement_identifier ;) })) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = 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) < IDENT) )) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 *)) ) (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (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) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (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 IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) < LIT) )) (compound_statement { (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 IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;) (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) )))) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) 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 *)) ) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (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 IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_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 (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;)) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT) ;) })))
(function_definition "byte *******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  byte *******pppppppbVar3;\n  uint uVar4;\n  int iVar5;\n  byte *******pppppppbVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  byte *******pppppppbVar11;\n  int iVar12;\n  byte ****ppppbVar13;\n  uint uVar14;\n  byte *pbVar15;\n  byte ******ppppppbVar16;\n  byte *******pppppppbVar17;\n  byte *******pppppppbVar18;\n  byte *******pppppppbVar19;\n  byte ******ppppppbVar20;\n  byte *****pppppbVar21;\n  byte ******ppppppbVar22;\n  undefined *puVar23;\n  undefined *unaff_s0;\n  int *piVar24;\n  byte ******ppppppbVar25;\n  code *pcVar26;\n  byte *******unaff_s3;\n  byte *******unaff_s4;\n  int *unaff_s5;\n  byte *pbVar27;\n  byte *******unaff_s6;\n  byte *******unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  byte *******pppppppbVar31;\n  int iVar32;\n  int iVar33;\n  byte *pbVar34;\n  undefined4 uVar35;\n  code *pcVar36;\n  undefined8 uVar37;\n  byte *******pppppppbStack_190;\n  byte *******pppppppbStack_18c;\n  code *pcStack_188;\n  byte *******pppppppbStack_180;\n  int iStack_17c;\n  byte *******pppppppbStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  byte *******pppppppbStack_160;\n  byte *******pppppppbStack_15c;\n  byte *******local_158;\n  byte ******local_154;\n  byte *******local_150;\n  undefined *local_148;\n  code *local_13c;\n  byte *******local_138;\n  code *local_134;\n  int *local_130;\n  byte *******local_12c;\n  byte *******local_128;\n  byte *******local_124;\n  code *local_120;\n  code *local_11c;\n  int local_118;\n  byte *******local_114;\n  byte *******local_110;\n  byte *******local_10c;\n  byte *******local_108;\n  byte *******local_104;\n  byte *******local_100;\n  byte *******local_fc;\n  undefined4 local_f8;\n  byte *******local_f4;\n  int local_f0;\n  byte *******local_e8;\n  byte *******local_e4;\n  int local_e0;\n  undefined4 local_dc;\n  byte *******local_d8;\n  undefined4 local_d4;\n  byte *******local_d0;\n  byte ******local_cc;\n  byte *******local_c4;\n  undefined *local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  byte *******local_b4;\n  byte *******local_b0;\n  int *local_ac;\n  byte *******local_a8;\n  byte *******local_a4;\n  byte *******local_a0;\n  undefined4 local_9c;\n  byte *******local_88;\n  uint local_84;\n  byte *******local_48;\n  int local_44;\n  byte *******local_40;\n  uint local_3c;\n  byte *******local_38;\n  int local_34;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  local_3c = 0;\n  local_40 = (byte *******)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pppppppbVar31 = (byte *******)0x0;\n  pppppppbVar6 = param_3;\n  pppppppbVar19 = param_4;\n  local_b4 = unaff_s3;\n  local_b0 = unaff_s4;\n  if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }\n  if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }\n  uVar35 = 0xb80e8;\n  iVar12 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  local_148 = puVar28 + 0xe0838;\n  local_130 = *(int **)(puVar28 + 0xd8d3c);\n  local_110 = (byte *******)0x0;\n  local_c4 = (byte *******)*local_130;\n  iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);\n  local_100 = (byte *******)0x0;\n  local_fc = (byte *******)0x0;\n  local_f8 = 0;\n  pppppppbVar18 = pppppppbVar6;\n  local_c0 = unaff_s0;\n  local_bc = param_1;\n  local_b8 = param_2;\n  local_ac = unaff_s5;\n  local_a8 = unaff_s6;\n  local_a4 = unaff_s7;\n  local_a0 = pppppppbVar31;\n  local_9c = uVar35;\n  uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);\n  uVar4 = (uint)((ulonglong)uVar37 >> 0x20);\n  uVar14 = (uint)uVar37;\n  iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);\n  uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);\n  if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }\n  pppppppbVar31 = (byte *******)&local_100;\n  (*pcVar26)();\n  if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }\n  pcVar29 = *(code **)(local_148 + -0x7b28);\n  pcVar36 = FUN_000b8b7c;\n  (*pcVar29)();\n  pcVar30 = pcVar29 + 0xdfda4;\n  piVar24 = *(int **)(pcVar29 + 0xd82a8);\n  iStack_17c = *piVar24;\n  pcStack_188 = pcVar30;\n  pppppppbStack_174 = (byte *******)&local_100;\n  pcStack_170 = pcVar26;\n  pcStack_16c = pcVar36;\n  pppppppbStack_160 = pppppppbVar18;\n  pppppppbStack_15c = pppppppbVar19;\n  if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }\n  if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar30 + -0x7b28);\n  iVar12 = iStack_17c;\n  (*pcVar26)();\n  pppppppbVar11 = (byte *******)&pppppppbStack_190;\n  piVar24 = *(int **)(pcVar26 + 0xd8208);\n  pppppppbVar17 = (byte *******)*piVar24;\n  pppppppbVar31 = pppppppbVar17;\n  pppppppbStack_190 = pppppppbVar18;\n  pppppppbStack_18c = pppppppbVar19;\n  if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }\n  pppppppbVar11 = (byte *******)*piVar24;\n  if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0xd81dc);\n  (*pcVar26)();\n  iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);\n  if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);\n  return (byte *******)0x0;\n}" (type_identifier "byte") (pointer_declarator "*******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" (* "*") (pointer_declarator "******\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" (* "*") (pointer_declarator "*****\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" (* "*") (pointer_declarator "****\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" (* "*") (pointer_declarator "***\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" (* "*") (pointer_declarator "**\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" (* "*") (pointer_declarator "*\nFUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" (* "*") (function_declarator "FUN_000b7e40(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" (identifier "FUN_000b7e40") (parameter_list "(undefined4 param_1,undefined4 param_2,byte *******param_3,byte *******param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "byte *******param_3" (type_identifier "byte") (pointer_declarator "*******param_3" (* "*") (pointer_declarator "******param_3" (* "*") (pointer_declarator "*****param_3" (* "*") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))))))))) (, ",") (parameter_declaration "byte *******param_4" (type_identifier "byte") (pointer_declarator "*******param_4" (* "*") (pointer_declarator "******param_4" (* "*") (pointer_declarator "*****param_4" (* "*") (pointer_declarator "****param_4" (* "*") (pointer_declarator "***param_4" (* "*") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))))))))) () ")")))))))))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  byte *******pppppppbVar3;\n  uint uVar4;\n  int iVar5;\n  byte *******pppppppbVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  byte *******pppppppbVar11;\n  int iVar12;\n  byte ****ppppbVar13;\n  uint uVar14;\n  byte *pbVar15;\n  byte ******ppppppbVar16;\n  byte *******pppppppbVar17;\n  byte *******pppppppbVar18;\n  byte *******pppppppbVar19;\n  byte ******ppppppbVar20;\n  byte *****pppppbVar21;\n  byte ******ppppppbVar22;\n  undefined *puVar23;\n  undefined *unaff_s0;\n  int *piVar24;\n  byte ******ppppppbVar25;\n  code *pcVar26;\n  byte *******unaff_s3;\n  byte *******unaff_s4;\n  int *unaff_s5;\n  byte *pbVar27;\n  byte *******unaff_s6;\n  byte *******unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  byte *******pppppppbVar31;\n  int iVar32;\n  int iVar33;\n  byte *pbVar34;\n  undefined4 uVar35;\n  code *pcVar36;\n  undefined8 uVar37;\n  byte *******pppppppbStack_190;\n  byte *******pppppppbStack_18c;\n  code *pcStack_188;\n  byte *******pppppppbStack_180;\n  int iStack_17c;\n  byte *******pppppppbStack_174;\n  code *pcStack_170;\n  code *pcStack_16c;\n  byte *******pppppppbStack_160;\n  byte *******pppppppbStack_15c;\n  byte *******local_158;\n  byte ******local_154;\n  byte *******local_150;\n  undefined *local_148;\n  code *local_13c;\n  byte *******local_138;\n  code *local_134;\n  int *local_130;\n  byte *******local_12c;\n  byte *******local_128;\n  byte *******local_124;\n  code *local_120;\n  code *local_11c;\n  int local_118;\n  byte *******local_114;\n  byte *******local_110;\n  byte *******local_10c;\n  byte *******local_108;\n  byte *******local_104;\n  byte *******local_100;\n  byte *******local_fc;\n  undefined4 local_f8;\n  byte *******local_f4;\n  int local_f0;\n  byte *******local_e8;\n  byte *******local_e4;\n  int local_e0;\n  undefined4 local_dc;\n  byte *******local_d8;\n  undefined4 local_d4;\n  byte *******local_d0;\n  byte ******local_cc;\n  byte *******local_c4;\n  undefined *local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  byte *******local_b4;\n  byte *******local_b0;\n  int *local_ac;\n  byte *******local_a8;\n  byte *******local_a4;\n  byte *******local_a0;\n  undefined4 local_9c;\n  byte *******local_88;\n  uint local_84;\n  byte *******local_48;\n  int local_44;\n  byte *******local_40;\n  uint local_3c;\n  byte *******local_38;\n  int local_34;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  local_3c = 0;\n  local_40 = (byte *******)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pppppppbVar31 = (byte *******)0x0;\n  pppppppbVar6 = param_3;\n  pppppppbVar19 = param_4;\n  local_b4 = unaff_s3;\n  local_b0 = unaff_s4;\n  if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }\n  if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }\n  uVar35 = 0xb80e8;\n  iVar12 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  local_148 = puVar28 + 0xe0838;\n  local_130 = *(int **)(puVar28 + 0xd8d3c);\n  local_110 = (byte *******)0x0;\n  local_c4 = (byte *******)*local_130;\n  iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);\n  local_100 = (byte *******)0x0;\n  local_fc = (byte *******)0x0;\n  local_f8 = 0;\n  pppppppbVar18 = pppppppbVar6;\n  local_c0 = unaff_s0;\n  local_bc = param_1;\n  local_b8 = param_2;\n  local_ac = unaff_s5;\n  local_a8 = unaff_s6;\n  local_a4 = unaff_s7;\n  local_a0 = pppppppbVar31;\n  local_9c = uVar35;\n  uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);\n  uVar4 = (uint)((ulonglong)uVar37 >> 0x20);\n  uVar14 = (uint)uVar37;\n  iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);\n  uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);\n  if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }\n  pppppppbVar31 = (byte *******)&local_100;\n  (*pcVar26)();\n  if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }\n  pcVar29 = *(code **)(local_148 + -0x7b28);\n  pcVar36 = FUN_000b8b7c;\n  (*pcVar29)();\n  pcVar30 = pcVar29 + 0xdfda4;\n  piVar24 = *(int **)(pcVar29 + 0xd82a8);\n  iStack_17c = *piVar24;\n  pcStack_188 = pcVar30;\n  pppppppbStack_174 = (byte *******)&local_100;\n  pcStack_170 = pcVar26;\n  pcStack_16c = pcVar36;\n  pppppppbStack_160 = pppppppbVar18;\n  pppppppbStack_15c = pppppppbVar19;\n  if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }\n  if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar30 + -0x7b28);\n  iVar12 = iStack_17c;\n  (*pcVar26)();\n  pppppppbVar11 = (byte *******)&pppppppbStack_190;\n  piVar24 = *(int **)(pcVar26 + 0xd8208);\n  pppppppbVar17 = (byte *******)*piVar24;\n  pppppppbVar31 = pppppppbVar17;\n  pppppppbStack_190 = pppppppbVar18;\n  pppppppbStack_18c = pppppppbVar19;\n  if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }\n  pppppppbVar11 = (byte *******)*piVar24;\n  if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0xd81dc);\n  (*pcVar26)();\n  iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);\n  if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }\nLAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);\n  return (byte *******)0x0;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "byte *******pppppppbVar3;" (type_identifier "byte") (pointer_declarator "*******pppppppbVar3" (* "*") (pointer_declarator "******pppppppbVar3" (* "*") (pointer_declarator "*****pppppppbVar3" (* "*") (pointer_declarator "****pppppppbVar3" (* "*") (pointer_declarator "***pppppppbVar3" (* "*") (pointer_declarator "**pppppppbVar3" (* "*") (pointer_declarator "*pppppppbVar3" (* "*") (identifier "pppppppbVar3")))))))) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "byte *******pppppppbVar6;" (type_identifier "byte") (pointer_declarator "*******pppppppbVar6" (* "*") (pointer_declarator "******pppppppbVar6" (* "*") (pointer_declarator "*****pppppppbVar6" (* "*") (pointer_declarator "****pppppppbVar6" (* "*") (pointer_declarator "***pppppppbVar6" (* "*") (pointer_declarator "**pppppppbVar6" (* "*") (pointer_declarator "*pppppppbVar6" (* "*") (identifier "pppppppbVar6")))))))) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "byte *******pppppppbVar11;" (type_identifier "byte") (pointer_declarator "*******pppppppbVar11" (* "*") (pointer_declarator "******pppppppbVar11" (* "*") (pointer_declarator "*****pppppppbVar11" (* "*") (pointer_declarator "****pppppppbVar11" (* "*") (pointer_declarator "***pppppppbVar11" (* "*") (pointer_declarator "**pppppppbVar11" (* "*") (pointer_declarator "*pppppppbVar11" (* "*") (identifier "pppppppbVar11")))))))) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "byte ****ppppbVar13;" (type_identifier "byte") (pointer_declarator "****ppppbVar13" (* "*") (pointer_declarator "***ppppbVar13" (* "*") (pointer_declarator "**ppppbVar13" (* "*") (pointer_declarator "*ppppbVar13" (* "*") (identifier "ppppbVar13"))))) (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "byte *pbVar15;" (type_identifier "byte") (pointer_declarator "*pbVar15" (* "*") (identifier "pbVar15")) (; ";")) (declaration "byte ******ppppppbVar16;" (type_identifier "byte") (pointer_declarator "******ppppppbVar16" (* "*") (pointer_declarator "*****ppppppbVar16" (* "*") (pointer_declarator "****ppppppbVar16" (* "*") (pointer_declarator "***ppppppbVar16" (* "*") (pointer_declarator "**ppppppbVar16" (* "*") (pointer_declarator "*ppppppbVar16" (* "*") (identifier "ppppppbVar16"))))))) (; ";")) (declaration "byte *******pppppppbVar17;" (type_identifier "byte") (pointer_declarator "*******pppppppbVar17" (* "*") (pointer_declarator "******pppppppbVar17" (* "*") (pointer_declarator "*****pppppppbVar17" (* "*") (pointer_declarator "****pppppppbVar17" (* "*") (pointer_declarator "***pppppppbVar17" (* "*") (pointer_declarator "**pppppppbVar17" (* "*") (pointer_declarator "*pppppppbVar17" (* "*") (identifier "pppppppbVar17")))))))) (; ";")) (declaration "byte *******pppppppbVar18;" (type_identifier "byte") (pointer_declarator "*******pppppppbVar18" (* "*") (pointer_declarator "******pppppppbVar18" (* "*") (pointer_declarator "*****pppppppbVar18" (* "*") (pointer_declarator "****pppppppbVar18" (* "*") (pointer_declarator "***pppppppbVar18" (* "*") (pointer_declarator "**pppppppbVar18" (* "*") (pointer_declarator "*pppppppbVar18" (* "*") (identifier "pppppppbVar18")))))))) (; ";")) (declaration "byte *******pppppppbVar19;" (type_identifier "byte") (pointer_declarator "*******pppppppbVar19" (* "*") (pointer_declarator "******pppppppbVar19" (* "*") (pointer_declarator "*****pppppppbVar19" (* "*") (pointer_declarator "****pppppppbVar19" (* "*") (pointer_declarator "***pppppppbVar19" (* "*") (pointer_declarator "**pppppppbVar19" (* "*") (pointer_declarator "*pppppppbVar19" (* "*") (identifier "pppppppbVar19")))))))) (; ";")) (declaration "byte ******ppppppbVar20;" (type_identifier "byte") (pointer_declarator "******ppppppbVar20" (* "*") (pointer_declarator "*****ppppppbVar20" (* "*") (pointer_declarator "****ppppppbVar20" (* "*") (pointer_declarator "***ppppppbVar20" (* "*") (pointer_declarator "**ppppppbVar20" (* "*") (pointer_declarator "*ppppppbVar20" (* "*") (identifier "ppppppbVar20"))))))) (; ";")) (declaration "byte *****pppppbVar21;" (type_identifier "byte") (pointer_declarator "*****pppppbVar21" (* "*") (pointer_declarator "****pppppbVar21" (* "*") (pointer_declarator "***pppppbVar21" (* "*") (pointer_declarator "**pppppbVar21" (* "*") (pointer_declarator "*pppppbVar21" (* "*") (identifier "pppppbVar21")))))) (; ";")) (declaration "byte ******ppppppbVar22;" (type_identifier "byte") (pointer_declarator "******ppppppbVar22" (* "*") (pointer_declarator "*****ppppppbVar22" (* "*") (pointer_declarator "****ppppppbVar22" (* "*") (pointer_declarator "***ppppppbVar22" (* "*") (pointer_declarator "**ppppppbVar22" (* "*") (pointer_declarator "*ppppppbVar22" (* "*") (identifier "ppppppbVar22"))))))) (; ";")) (declaration "undefined *puVar23;" (type_identifier "undefined") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "undefined *unaff_s0;" (type_identifier "undefined") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "int *piVar24;" (primitive_type "int") (pointer_declarator "*piVar24" (* "*") (identifier "piVar24")) (; ";")) (declaration "byte ******ppppppbVar25;" (type_identifier "byte") (pointer_declarator "******ppppppbVar25" (* "*") (pointer_declarator "*****ppppppbVar25" (* "*") (pointer_declarator "****ppppppbVar25" (* "*") (pointer_declarator "***ppppppbVar25" (* "*") (pointer_declarator "**ppppppbVar25" (* "*") (pointer_declarator "*ppppppbVar25" (* "*") (identifier "ppppppbVar25"))))))) (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "byte *******unaff_s3;" (type_identifier "byte") (pointer_declarator "*******unaff_s3" (* "*") (pointer_declarator "******unaff_s3" (* "*") (pointer_declarator "*****unaff_s3" (* "*") (pointer_declarator "****unaff_s3" (* "*") (pointer_declarator "***unaff_s3" (* "*") (pointer_declarator "**unaff_s3" (* "*") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")))))))) (; ";")) (declaration "byte *******unaff_s4;" (type_identifier "byte") (pointer_declarator "*******unaff_s4" (* "*") (pointer_declarator "******unaff_s4" (* "*") (pointer_declarator "*****unaff_s4" (* "*") (pointer_declarator "****unaff_s4" (* "*") (pointer_declarator "***unaff_s4" (* "*") (pointer_declarator "**unaff_s4" (* "*") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")))))))) (; ";")) (declaration "int *unaff_s5;" (primitive_type "int") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "byte *pbVar27;" (type_identifier "byte") (pointer_declarator "*pbVar27" (* "*") (identifier "pbVar27")) (; ";")) (declaration "byte *******unaff_s6;" (type_identifier "byte") (pointer_declarator "*******unaff_s6" (* "*") (pointer_declarator "******unaff_s6" (* "*") (pointer_declarator "*****unaff_s6" (* "*") (pointer_declarator "****unaff_s6" (* "*") (pointer_declarator "***unaff_s6" (* "*") (pointer_declarator "**unaff_s6" (* "*") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")))))))) (; ";")) (declaration "byte *******unaff_s7;" (type_identifier "byte") (pointer_declarator "*******unaff_s7" (* "*") (pointer_declarator "******unaff_s7" (* "*") (pointer_declarator "*****unaff_s7" (* "*") (pointer_declarator "****unaff_s7" (* "*") (pointer_declarator "***unaff_s7" (* "*") (pointer_declarator "**unaff_s7" (* "*") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")))))))) (; ";")) (declaration "undefined *puVar28;" (type_identifier "undefined") (pointer_declarator "*puVar28" (* "*") (identifier "puVar28")) (; ";")) (declaration "code *pcVar29;" (type_identifier "code") (pointer_declarator "*pcVar29" (* "*") (identifier "pcVar29")) (; ";")) (declaration "code *pcVar30;" (type_identifier "code") (pointer_declarator "*pcVar30" (* "*") (identifier "pcVar30")) (; ";")) (declaration "byte *******pppppppbVar31;" (type_identifier "byte") (pointer_declarator "*******pppppppbVar31" (* "*") (pointer_declarator "******pppppppbVar31" (* "*") (pointer_declarator "*****pppppppbVar31" (* "*") (pointer_declarator "****pppppppbVar31" (* "*") (pointer_declarator "***pppppppbVar31" (* "*") (pointer_declarator "**pppppppbVar31" (* "*") (pointer_declarator "*pppppppbVar31" (* "*") (identifier "pppppppbVar31")))))))) (; ";")) (declaration "int iVar32;" (primitive_type "int") (identifier "iVar32") (; ";")) (declaration "int iVar33;" (primitive_type "int") (identifier "iVar33") (; ";")) (declaration "byte *pbVar34;" (type_identifier "byte") (pointer_declarator "*pbVar34" (* "*") (identifier "pbVar34")) (; ";")) (declaration "undefined4 uVar35;" (type_identifier "undefined4") (identifier "uVar35") (; ";")) (declaration "code *pcVar36;" (type_identifier "code") (pointer_declarator "*pcVar36" (* "*") (identifier "pcVar36")) (; ";")) (declaration "undefined8 uVar37;" (type_identifier "undefined8") (identifier "uVar37") (; ";")) (declaration "byte *******pppppppbStack_190;" (type_identifier "byte") (pointer_declarator "*******pppppppbStack_190" (* "*") (pointer_declarator "******pppppppbStack_190" (* "*") (pointer_declarator "*****pppppppbStack_190" (* "*") (pointer_declarator "****pppppppbStack_190" (* "*") (pointer_declarator "***pppppppbStack_190" (* "*") (pointer_declarator "**pppppppbStack_190" (* "*") (pointer_declarator "*pppppppbStack_190" (* "*") (identifier "pppppppbStack_190")))))))) (; ";")) (declaration "byte *******pppppppbStack_18c;" (type_identifier "byte") (pointer_declarator "*******pppppppbStack_18c" (* "*") (pointer_declarator "******pppppppbStack_18c" (* "*") (pointer_declarator "*****pppppppbStack_18c" (* "*") (pointer_declarator "****pppppppbStack_18c" (* "*") (pointer_declarator "***pppppppbStack_18c" (* "*") (pointer_declarator "**pppppppbStack_18c" (* "*") (pointer_declarator "*pppppppbStack_18c" (* "*") (identifier "pppppppbStack_18c")))))))) (; ";")) (declaration "code *pcStack_188;" (type_identifier "code") (pointer_declarator "*pcStack_188" (* "*") (identifier "pcStack_188")) (; ";")) (declaration "byte *******pppppppbStack_180;" (type_identifier "byte") (pointer_declarator "*******pppppppbStack_180" (* "*") (pointer_declarator "******pppppppbStack_180" (* "*") (pointer_declarator "*****pppppppbStack_180" (* "*") (pointer_declarator "****pppppppbStack_180" (* "*") (pointer_declarator "***pppppppbStack_180" (* "*") (pointer_declarator "**pppppppbStack_180" (* "*") (pointer_declarator "*pppppppbStack_180" (* "*") (identifier "pppppppbStack_180")))))))) (; ";")) (declaration "int iStack_17c;" (primitive_type "int") (identifier "iStack_17c") (; ";")) (declaration "byte *******pppppppbStack_174;" (type_identifier "byte") (pointer_declarator "*******pppppppbStack_174" (* "*") (pointer_declarator "******pppppppbStack_174" (* "*") (pointer_declarator "*****pppppppbStack_174" (* "*") (pointer_declarator "****pppppppbStack_174" (* "*") (pointer_declarator "***pppppppbStack_174" (* "*") (pointer_declarator "**pppppppbStack_174" (* "*") (pointer_declarator "*pppppppbStack_174" (* "*") (identifier "pppppppbStack_174")))))))) (; ";")) (declaration "code *pcStack_170;" (type_identifier "code") (pointer_declarator "*pcStack_170" (* "*") (identifier "pcStack_170")) (; ";")) (declaration "code *pcStack_16c;" (type_identifier "code") (pointer_declarator "*pcStack_16c" (* "*") (identifier "pcStack_16c")) (; ";")) (declaration "byte *******pppppppbStack_160;" (type_identifier "byte") (pointer_declarator "*******pppppppbStack_160" (* "*") (pointer_declarator "******pppppppbStack_160" (* "*") (pointer_declarator "*****pppppppbStack_160" (* "*") (pointer_declarator "****pppppppbStack_160" (* "*") (pointer_declarator "***pppppppbStack_160" (* "*") (pointer_declarator "**pppppppbStack_160" (* "*") (pointer_declarator "*pppppppbStack_160" (* "*") (identifier "pppppppbStack_160")))))))) (; ";")) (declaration "byte *******pppppppbStack_15c;" (type_identifier "byte") (pointer_declarator "*******pppppppbStack_15c" (* "*") (pointer_declarator "******pppppppbStack_15c" (* "*") (pointer_declarator "*****pppppppbStack_15c" (* "*") (pointer_declarator "****pppppppbStack_15c" (* "*") (pointer_declarator "***pppppppbStack_15c" (* "*") (pointer_declarator "**pppppppbStack_15c" (* "*") (pointer_declarator "*pppppppbStack_15c" (* "*") (identifier "pppppppbStack_15c")))))))) (; ";")) (declaration "byte *******local_158;" (type_identifier "byte") (pointer_declarator "*******local_158" (* "*") (pointer_declarator "******local_158" (* "*") (pointer_declarator "*****local_158" (* "*") (pointer_declarator "****local_158" (* "*") (pointer_declarator "***local_158" (* "*") (pointer_declarator "**local_158" (* "*") (pointer_declarator "*local_158" (* "*") (identifier "local_158")))))))) (; ";")) (declaration "byte ******local_154;" (type_identifier "byte") (pointer_declarator "******local_154" (* "*") (pointer_declarator "*****local_154" (* "*") (pointer_declarator "****local_154" (* "*") (pointer_declarator "***local_154" (* "*") (pointer_declarator "**local_154" (* "*") (pointer_declarator "*local_154" (* "*") (identifier "local_154"))))))) (; ";")) (declaration "byte *******local_150;" (type_identifier "byte") (pointer_declarator "*******local_150" (* "*") (pointer_declarator "******local_150" (* "*") (pointer_declarator "*****local_150" (* "*") (pointer_declarator "****local_150" (* "*") (pointer_declarator "***local_150" (* "*") (pointer_declarator "**local_150" (* "*") (pointer_declarator "*local_150" (* "*") (identifier "local_150")))))))) (; ";")) (declaration "undefined *local_148;" (type_identifier "undefined") (pointer_declarator "*local_148" (* "*") (identifier "local_148")) (; ";")) (declaration "code *local_13c;" (type_identifier "code") (pointer_declarator "*local_13c" (* "*") (identifier "local_13c")) (; ";")) (declaration "byte *******local_138;" (type_identifier "byte") (pointer_declarator "*******local_138" (* "*") (pointer_declarator "******local_138" (* "*") (pointer_declarator "*****local_138" (* "*") (pointer_declarator "****local_138" (* "*") (pointer_declarator "***local_138" (* "*") (pointer_declarator "**local_138" (* "*") (pointer_declarator "*local_138" (* "*") (identifier "local_138")))))))) (; ";")) (declaration "code *local_134;" (type_identifier "code") (pointer_declarator "*local_134" (* "*") (identifier "local_134")) (; ";")) (declaration "int *local_130;" (primitive_type "int") (pointer_declarator "*local_130" (* "*") (identifier "local_130")) (; ";")) (declaration "byte *******local_12c;" (type_identifier "byte") (pointer_declarator "*******local_12c" (* "*") (pointer_declarator "******local_12c" (* "*") (pointer_declarator "*****local_12c" (* "*") (pointer_declarator "****local_12c" (* "*") (pointer_declarator "***local_12c" (* "*") (pointer_declarator "**local_12c" (* "*") (pointer_declarator "*local_12c" (* "*") (identifier "local_12c")))))))) (; ";")) (declaration "byte *******local_128;" (type_identifier "byte") (pointer_declarator "*******local_128" (* "*") (pointer_declarator "******local_128" (* "*") (pointer_declarator "*****local_128" (* "*") (pointer_declarator "****local_128" (* "*") (pointer_declarator "***local_128" (* "*") (pointer_declarator "**local_128" (* "*") (pointer_declarator "*local_128" (* "*") (identifier "local_128")))))))) (; ";")) (declaration "byte *******local_124;" (type_identifier "byte") (pointer_declarator "*******local_124" (* "*") (pointer_declarator "******local_124" (* "*") (pointer_declarator "*****local_124" (* "*") (pointer_declarator "****local_124" (* "*") (pointer_declarator "***local_124" (* "*") (pointer_declarator "**local_124" (* "*") (pointer_declarator "*local_124" (* "*") (identifier "local_124")))))))) (; ";")) (declaration "code *local_120;" (type_identifier "code") (pointer_declarator "*local_120" (* "*") (identifier "local_120")) (; ";")) (declaration "code *local_11c;" (type_identifier "code") (pointer_declarator "*local_11c" (* "*") (identifier "local_11c")) (; ";")) (declaration "int local_118;" (primitive_type "int") (identifier "local_118") (; ";")) (declaration "byte *******local_114;" (type_identifier "byte") (pointer_declarator "*******local_114" (* "*") (pointer_declarator "******local_114" (* "*") (pointer_declarator "*****local_114" (* "*") (pointer_declarator "****local_114" (* "*") (pointer_declarator "***local_114" (* "*") (pointer_declarator "**local_114" (* "*") (pointer_declarator "*local_114" (* "*") (identifier "local_114")))))))) (; ";")) (declaration "byte *******local_110;" (type_identifier "byte") (pointer_declarator "*******local_110" (* "*") (pointer_declarator "******local_110" (* "*") (pointer_declarator "*****local_110" (* "*") (pointer_declarator "****local_110" (* "*") (pointer_declarator "***local_110" (* "*") (pointer_declarator "**local_110" (* "*") (pointer_declarator "*local_110" (* "*") (identifier "local_110")))))))) (; ";")) (declaration "byte *******local_10c;" (type_identifier "byte") (pointer_declarator "*******local_10c" (* "*") (pointer_declarator "******local_10c" (* "*") (pointer_declarator "*****local_10c" (* "*") (pointer_declarator "****local_10c" (* "*") (pointer_declarator "***local_10c" (* "*") (pointer_declarator "**local_10c" (* "*") (pointer_declarator "*local_10c" (* "*") (identifier "local_10c")))))))) (; ";")) (declaration "byte *******local_108;" (type_identifier "byte") (pointer_declarator "*******local_108" (* "*") (pointer_declarator "******local_108" (* "*") (pointer_declarator "*****local_108" (* "*") (pointer_declarator "****local_108" (* "*") (pointer_declarator "***local_108" (* "*") (pointer_declarator "**local_108" (* "*") (pointer_declarator "*local_108" (* "*") (identifier "local_108")))))))) (; ";")) (declaration "byte *******local_104;" (type_identifier "byte") (pointer_declarator "*******local_104" (* "*") (pointer_declarator "******local_104" (* "*") (pointer_declarator "*****local_104" (* "*") (pointer_declarator "****local_104" (* "*") (pointer_declarator "***local_104" (* "*") (pointer_declarator "**local_104" (* "*") (pointer_declarator "*local_104" (* "*") (identifier "local_104")))))))) (; ";")) (declaration "byte *******local_100;" (type_identifier "byte") (pointer_declarator "*******local_100" (* "*") (pointer_declarator "******local_100" (* "*") (pointer_declarator "*****local_100" (* "*") (pointer_declarator "****local_100" (* "*") (pointer_declarator "***local_100" (* "*") (pointer_declarator "**local_100" (* "*") (pointer_declarator "*local_100" (* "*") (identifier "local_100")))))))) (; ";")) (declaration "byte *******local_fc;" (type_identifier "byte") (pointer_declarator "*******local_fc" (* "*") (pointer_declarator "******local_fc" (* "*") (pointer_declarator "*****local_fc" (* "*") (pointer_declarator "****local_fc" (* "*") (pointer_declarator "***local_fc" (* "*") (pointer_declarator "**local_fc" (* "*") (pointer_declarator "*local_fc" (* "*") (identifier "local_fc")))))))) (; ";")) (declaration "undefined4 local_f8;" (type_identifier "undefined4") (identifier "local_f8") (; ";")) (declaration "byte *******local_f4;" (type_identifier "byte") (pointer_declarator "*******local_f4" (* "*") (pointer_declarator "******local_f4" (* "*") (pointer_declarator "*****local_f4" (* "*") (pointer_declarator "****local_f4" (* "*") (pointer_declarator "***local_f4" (* "*") (pointer_declarator "**local_f4" (* "*") (pointer_declarator "*local_f4" (* "*") (identifier "local_f4")))))))) (; ";")) (declaration "int local_f0;" (primitive_type "int") (identifier "local_f0") (; ";")) (declaration "byte *******local_e8;" (type_identifier "byte") (pointer_declarator "*******local_e8" (* "*") (pointer_declarator "******local_e8" (* "*") (pointer_declarator "*****local_e8" (* "*") (pointer_declarator "****local_e8" (* "*") (pointer_declarator "***local_e8" (* "*") (pointer_declarator "**local_e8" (* "*") (pointer_declarator "*local_e8" (* "*") (identifier "local_e8")))))))) (; ";")) (declaration "byte *******local_e4;" (type_identifier "byte") (pointer_declarator "*******local_e4" (* "*") (pointer_declarator "******local_e4" (* "*") (pointer_declarator "*****local_e4" (* "*") (pointer_declarator "****local_e4" (* "*") (pointer_declarator "***local_e4" (* "*") (pointer_declarator "**local_e4" (* "*") (pointer_declarator "*local_e4" (* "*") (identifier "local_e4")))))))) (; ";")) (declaration "int local_e0;" (primitive_type "int") (identifier "local_e0") (; ";")) (declaration "undefined4 local_dc;" (type_identifier "undefined4") (identifier "local_dc") (; ";")) (declaration "byte *******local_d8;" (type_identifier "byte") (pointer_declarator "*******local_d8" (* "*") (pointer_declarator "******local_d8" (* "*") (pointer_declarator "*****local_d8" (* "*") (pointer_declarator "****local_d8" (* "*") (pointer_declarator "***local_d8" (* "*") (pointer_declarator "**local_d8" (* "*") (pointer_declarator "*local_d8" (* "*") (identifier "local_d8")))))))) (; ";")) (declaration "undefined4 local_d4;" (type_identifier "undefined4") (identifier "local_d4") (; ";")) (declaration "byte *******local_d0;" (type_identifier "byte") (pointer_declarator "*******local_d0" (* "*") (pointer_declarator "******local_d0" (* "*") (pointer_declarator "*****local_d0" (* "*") (pointer_declarator "****local_d0" (* "*") (pointer_declarator "***local_d0" (* "*") (pointer_declarator "**local_d0" (* "*") (pointer_declarator "*local_d0" (* "*") (identifier "local_d0")))))))) (; ";")) (declaration "byte ******local_cc;" (type_identifier "byte") (pointer_declarator "******local_cc" (* "*") (pointer_declarator "*****local_cc" (* "*") (pointer_declarator "****local_cc" (* "*") (pointer_declarator "***local_cc" (* "*") (pointer_declarator "**local_cc" (* "*") (pointer_declarator "*local_cc" (* "*") (identifier "local_cc"))))))) (; ";")) (declaration "byte *******local_c4;" (type_identifier "byte") (pointer_declarator "*******local_c4" (* "*") (pointer_declarator "******local_c4" (* "*") (pointer_declarator "*****local_c4" (* "*") (pointer_declarator "****local_c4" (* "*") (pointer_declarator "***local_c4" (* "*") (pointer_declarator "**local_c4" (* "*") (pointer_declarator "*local_c4" (* "*") (identifier "local_c4")))))))) (; ";")) (declaration "undefined *local_c0;" (type_identifier "undefined") (pointer_declarator "*local_c0" (* "*") (identifier "local_c0")) (; ";")) (declaration "undefined4 local_bc;" (type_identifier "undefined4") (identifier "local_bc") (; ";")) (declaration "undefined4 local_b8;" (type_identifier "undefined4") (identifier "local_b8") (; ";")) (declaration "byte *******local_b4;" (type_identifier "byte") (pointer_declarator "*******local_b4" (* "*") (pointer_declarator "******local_b4" (* "*") (pointer_declarator "*****local_b4" (* "*") (pointer_declarator "****local_b4" (* "*") (pointer_declarator "***local_b4" (* "*") (pointer_declarator "**local_b4" (* "*") (pointer_declarator "*local_b4" (* "*") (identifier "local_b4")))))))) (; ";")) (declaration "byte *******local_b0;" (type_identifier "byte") (pointer_declarator "*******local_b0" (* "*") (pointer_declarator "******local_b0" (* "*") (pointer_declarator "*****local_b0" (* "*") (pointer_declarator "****local_b0" (* "*") (pointer_declarator "***local_b0" (* "*") (pointer_declarator "**local_b0" (* "*") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")))))))) (; ";")) (declaration "int *local_ac;" (primitive_type "int") (pointer_declarator "*local_ac" (* "*") (identifier "local_ac")) (; ";")) (declaration "byte *******local_a8;" (type_identifier "byte") (pointer_declarator "*******local_a8" (* "*") (pointer_declarator "******local_a8" (* "*") (pointer_declarator "*****local_a8" (* "*") (pointer_declarator "****local_a8" (* "*") (pointer_declarator "***local_a8" (* "*") (pointer_declarator "**local_a8" (* "*") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8")))))))) (; ";")) (declaration "byte *******local_a4;" (type_identifier "byte") (pointer_declarator "*******local_a4" (* "*") (pointer_declarator "******local_a4" (* "*") (pointer_declarator "*****local_a4" (* "*") (pointer_declarator "****local_a4" (* "*") (pointer_declarator "***local_a4" (* "*") (pointer_declarator "**local_a4" (* "*") (pointer_declarator "*local_a4" (* "*") (identifier "local_a4")))))))) (; ";")) (declaration "byte *******local_a0;" (type_identifier "byte") (pointer_declarator "*******local_a0" (* "*") (pointer_declarator "******local_a0" (* "*") (pointer_declarator "*****local_a0" (* "*") (pointer_declarator "****local_a0" (* "*") (pointer_declarator "***local_a0" (* "*") (pointer_declarator "**local_a0" (* "*") (pointer_declarator "*local_a0" (* "*") (identifier "local_a0")))))))) (; ";")) (declaration "undefined4 local_9c;" (type_identifier "undefined4") (identifier "local_9c") (; ";")) (declaration "byte *******local_88;" (type_identifier "byte") (pointer_declarator "*******local_88" (* "*") (pointer_declarator "******local_88" (* "*") (pointer_declarator "*****local_88" (* "*") (pointer_declarator "****local_88" (* "*") (pointer_declarator "***local_88" (* "*") (pointer_declarator "**local_88" (* "*") (pointer_declarator "*local_88" (* "*") (identifier "local_88")))))))) (; ";")) (declaration "uint local_84;" (type_identifier "uint") (identifier "local_84") (; ";")) (declaration "byte *******local_48;" (type_identifier "byte") (pointer_declarator "*******local_48" (* "*") (pointer_declarator "******local_48" (* "*") (pointer_declarator "*****local_48" (* "*") (pointer_declarator "****local_48" (* "*") (pointer_declarator "***local_48" (* "*") (pointer_declarator "**local_48" (* "*") (pointer_declarator "*local_48" (* "*") (identifier "local_48")))))))) (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "byte *******local_40;" (type_identifier "byte") (pointer_declarator "*******local_40" (* "*") (pointer_declarator "******local_40" (* "*") (pointer_declarator "*****local_40" (* "*") (pointer_declarator "****local_40" (* "*") (pointer_declarator "***local_40" (* "*") (pointer_declarator "**local_40" (* "*") (pointer_declarator "*local_40" (* "*") (identifier "local_40")))))))) (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "byte *******local_38;" (type_identifier "byte") (pointer_declarator "*******local_38" (* "*") (pointer_declarator "******local_38" (* "*") (pointer_declarator "*****local_38" (* "*") (pointer_declarator "****local_38" (* "*") (pointer_declarator "***local_38" (* "*") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38")))))))) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" (identifier "puVar28") (= "=") (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = (byte *******)0x0;" (assignment_expression "local_40 = (byte *******)0x0" (identifier "local_40") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "pppppppbVar31 = (byte *******)0x0;" (assignment_expression "pppppppbVar31 = (byte *******)0x0" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppbVar6 = param_3;" (assignment_expression "pppppppbVar6 = param_3" (identifier "pppppppbVar6") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppppbVar19 = param_4;" (assignment_expression "pppppppbVar19 = param_4" (identifier "pppppppbVar19") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_b4 = unaff_s3;" (assignment_expression "local_b4 = unaff_s3" (identifier "local_b4") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "local_b0 = unaff_s4;" (assignment_expression "local_b0 = unaff_s4" (identifier "local_b0") (= "=") (identifier "unaff_s4")) (; ";")) (if_statement "if (0 < (int)param_4) {\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }" (if "if") (parenthesized_expression "(0 < (int)param_4)" (( "(") (binary_expression "0 < (int)param_4" (number_literal "0") (< "<") (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4"))) () ")")) (compound_statement "{\n    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);\n    unaff_s0 = PTR_LAB_00190c2c;\n    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);\n    local_84 = local_3c;\n    local_88 = local_40;\n    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);\n    FUN_000b7b38(param_1,param_2);\n    puVar1 = PTR_LAB_00190ba4;\n    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n    local_b4 = param_3;\n    local_b0 = param_4;\n    if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }\n  }" ({ "{") (expression_statement "pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);" (assignment_expression "pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80)" (identifier "pcVar26") (= "=") (cast_expression "(code *)(PTR_LAB_00190b40 + -0x80)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190b40 + -0x80)" (( "(") (binary_expression "PTR_LAB_00190b40 + -0x80" (identifier "PTR_LAB_00190b40") (+ "+") (number_literal "-0x80")) () ")")))) (; ";")) (expression_statement "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" (identifier "puVar23") (= "=") (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c")) (; ";")) (expression_statement "pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);" (assignment_expression "pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)(*pcVar26)(param_3,&local_40)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*pcVar26)(param_3,&local_40)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(param_3,&local_40)" (( "(") (identifier "param_3") (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) () ")"))))) (; ";")) (expression_statement "unaff_s0 = PTR_LAB_00190c2c;" (assignment_expression "unaff_s0 = PTR_LAB_00190c2c" (identifier "unaff_s0") (= "=") (identifier "PTR_LAB_00190c2c")) (; ";")) (expression_statement "pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);" (assignment_expression "pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc)" (identifier "pppppppbVar6") (= "=") (cast_expression "(byte *******)(puVar23 + -0x4cdc)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar23 + -0x4cdc)" (( "(") (binary_expression "puVar23 + -0x4cdc" (identifier "puVar23") (+ "+") (number_literal "-0x4cdc")) () ")")))) (; ";")) (expression_statement "local_84 = local_3c;" (assignment_expression "local_84 = local_3c" (identifier "local_84") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "local_88 = local_40;" (assignment_expression "local_88 = local_40" (identifier "local_88") (= "=") (identifier "local_40")) (; ";")) (expression_statement "pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);" (assignment_expression "pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38)" (identifier "pcVar30") (= "=") (cast_expression "(code *)(PTR_LAB_00190c2c + 0x7b38)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190c2c + 0x7b38)" (( "(") (binary_expression "PTR_LAB_00190c2c + 0x7b38" (identifier "PTR_LAB_00190c2c") (+ "+") (number_literal "0x7b38")) () ")")))) (; ";")) (expression_statement "FUN_000b7b38(param_1,param_2);" (call_expression "FUN_000b7b38(param_1,param_2)" (identifier "FUN_000b7b38") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "puVar1 = PTR_LAB_00190ba4;" (assignment_expression "puVar1 = PTR_LAB_00190ba4" (identifier "puVar1") (= "=") (identifier "PTR_LAB_00190ba4")) (; ";")) (expression_statement "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" (identifier "puVar23") (= "=") (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c")) (; ";")) (expression_statement "local_b4 = param_3;" (assignment_expression "local_b4 = param_3" (identifier "local_b4") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_b0 = param_4;" (assignment_expression "local_b0 = param_4" (identifier "local_b0") (= "=") (identifier "param_4")) (; ";")) (if_statement "if ((int)pppppppbVar31 < (int)param_4) {\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }" (if "if") (parenthesized_expression "((int)pppppppbVar31 < (int)param_4)" (( "(") (binary_expression "(int)pppppppbVar31 < (int)param_4" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (< "<") (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4"))) () ")")) (compound_statement "{\n      unaff_s5 = &local_44;\n      unaff_s6 = (byte *******)&local_48;\n      unaff_s7 = (byte *******)&local_38;\n      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);\n      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);\n      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);\n      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);\n      do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);\n    }" ({ "{") (expression_statement "unaff_s5 = &local_44;" (assignment_expression "unaff_s5 = &local_44" (identifier "unaff_s5") (= "=") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (; ";")) (expression_statement "unaff_s6 = (byte *******)&local_48;" (assignment_expression "unaff_s6 = (byte *******)&local_48" (identifier "unaff_s6") (= "=") (cast_expression "(byte *******)&local_48" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_48" (& "&") (identifier "local_48")))) (; ";")) (expression_statement "unaff_s7 = (byte *******)&local_38;" (assignment_expression "unaff_s7 = (byte *******)&local_38" (identifier "unaff_s7") (= "=") (cast_expression "(byte *******)&local_38" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_38" (& "&") (identifier "local_38")))) (; ";")) (expression_statement "pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);" (assignment_expression "pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0)" (identifier "pcVar29") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x61f0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + 0x61f0)" (( "(") (binary_expression "PTR_LAB_00190ba4 + 0x61f0" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "0x61f0")) () ")")))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);" (assignment_expression "pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x6390")) () ")")))) (; ";")) (expression_statement "pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);" (assignment_expression "pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8)" (identifier "pppppppbVar11") (= "=") (cast_expression "(byte *******)(PTR_LAB_00190958 + 0x30a8)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(PTR_LAB_00190958 + 0x30a8)" (( "(") (binary_expression "PTR_LAB_00190958 + 0x30a8" (identifier "PTR_LAB_00190958") (+ "+") (number_literal "0x30a8")) () ")")))) (; ";")) (expression_statement "pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);" (assignment_expression "pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" (identifier "pppppppbVar17") (= "=") (cast_expression "(byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x556c")) () ")")))) (; ";")) (do_statement "do {\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      } while ((int)pppppppbVar31 < (int)param_4);" (do "do") (compound_statement "{\n        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);\n        local_88 = pppppppbVar11;\n        if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }\n        pppppppbVar19 = local_48;\n        (*pcVar30)(param_1,param_2);\n        pppppppbVar3 = local_48;\n        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }\n        if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }\n        if ((int)param_4 <= (int)pppppppbVar31) break;\n        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);\n        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);\n        local_84 = local_3c + local_34;\n        pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));\n        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);\n        local_88 = pppppppbVar19;\n        local_40 = pppppppbVar19;\n        local_3c = local_84;\n        (*pcVar30)(param_1,param_2);\n      }" ({ "{") (expression_statement "iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);" (assignment_expression "iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5)" (identifier "iVar12") (= "=") (call_expression "(*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5)" (parenthesized_expression "(*pcVar29)" (( "(") (pointer_expression "*pcVar29" (* "*") (identifier "pcVar29")) () ")")) (argument_list "((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5)" (( "(") (cast_expression "(byte *)((int)param_3 + (int)pppppppbVar31)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + (int)pppppppbVar31)" (( "(") (binary_expression "(int)param_3 + (int)pppppppbVar31" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")"))) (, ",") (identifier "unaff_s6") (, ",") (identifier "unaff_s5") () ")")))) (; ";")) (expression_statement "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);" (assignment_expression "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)((int)pppppppbVar31 + iVar12)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppbVar31 + iVar12)" (( "(") (binary_expression "(int)pppppppbVar31 + iVar12" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (+ "+") (identifier "iVar12")) () ")")))) (; ";")) (expression_statement "pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);" (assignment_expression "pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0)" (identifier "pppppppbVar6") (= "=") (cast_expression "(byte *******)(puVar23 + -0x4cd0)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar23 + -0x4cd0)" (( "(") (binary_expression "puVar23 + -0x4cd0" (identifier "puVar23") (+ "+") (number_literal "-0x4cd0")) () ")")))) (; ";")) (expression_statement "local_88 = pppppppbVar11;" (assignment_expression "local_88 = pppppppbVar11" (identifier "local_88") (= "=") (identifier "pppppppbVar11")) (; ";")) (if_statement "if (local_44 != 0) {\n          local_88 = pppppppbVar18;\n        }" (if "if") (parenthesized_expression "(local_44 != 0)" (( "(") (binary_expression "local_44 != 0" (identifier "local_44") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_88 = pppppppbVar18;\n        }" ({ "{") (expression_statement "local_88 = pppppppbVar18;" (assignment_expression "local_88 = pppppppbVar18" (identifier "local_88") (= "=") (identifier "pppppppbVar18")) (; ";")) (} "}"))) (expression_statement "pppppppbVar19 = local_48;" (assignment_expression "pppppppbVar19 = local_48" (identifier "pppppppbVar19") (= "=") (identifier "local_48")) (; ";")) (expression_statement "(*pcVar30)(param_1,param_2);" (call_expression "(*pcVar30)(param_1,param_2)" (parenthesized_expression "(*pcVar30)" (( "(") (pointer_expression "*pcVar30" (* "*") (identifier "pcVar30")) () ")")) (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pppppppbVar3 = local_48;" (assignment_expression "pppppppbVar3 = local_48" (identifier "pppppppbVar3") (= "=") (identifier "local_48")) (; ";")) (if_statement "if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }" (if "if") (parenthesized_expression "((int)param_4 - (int)pppppppbVar31 <= (int)local_48)" (( "(") (binary_expression "(int)param_4 - (int)pppppppbVar31 <= (int)local_48" (binary_expression "(int)param_4 - (int)pppppppbVar31" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (- "-") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) (<= "<=") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48"))) () ")")) (compound_statement "{\n          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);\n        }" ({ "{") (expression_statement "pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);" (assignment_expression "pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31)" (identifier "pppppppbVar3") (= "=") (cast_expression "(byte *******)((int)param_4 - (int)pppppppbVar31)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)param_4 - (int)pppppppbVar31)" (( "(") (binary_expression "(int)param_4 - (int)pppppppbVar31" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (- "-") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")")))) (; ";")) (} "}"))) (if_statement "if (0 < (int)pppppppbVar3) {\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }" (if "if") (parenthesized_expression "(0 < (int)pppppppbVar3)" (( "(") (binary_expression "0 < (int)pppppppbVar3" (number_literal "0") (< "<") (cast_expression "(int)pppppppbVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar3"))) () ")")) (compound_statement "{\n          unaff_s0 = (undefined *)0x0;\n          do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);\n          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);\n        }" ({ "{") (expression_statement "unaff_s0 = (undefined *)0x0;" (assignment_expression "unaff_s0 = (undefined *)0x0" (identifier "unaff_s0") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          } while ((int)unaff_s0 < (int)pppppppbVar3);" (do "do") (compound_statement "{\n            iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);\n            unaff_s0 = unaff_s0 + iVar12;\n            pppppppbVar6 = pppppppbVar17;\n            pppppppbVar19 = local_38;\n            (*pcVar30)(param_1,param_2);\n          }" ({ "{") (expression_statement "iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7);" (assignment_expression "iVar12 = (*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7)" (identifier "iVar12") (= "=") (call_expression "(*(code *)(puVar1 + 0x610c))\n                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7)" (parenthesized_expression "(*(code *)(puVar1 + 0x610c))" (( "(") (pointer_expression "*(code *)(puVar1 + 0x610c)" (* "*") (cast_expression "(code *)(puVar1 + 0x610c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x610c)" (( "(") (binary_expression "puVar1 + 0x610c" (identifier "puVar1") (+ "+") (number_literal "0x610c")) () ")")))) () ")")) (argument_list "((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),\n                                unaff_s7)" (( "(") (cast_expression "(byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31))" (( "(") (binary_expression "(int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (cast_expression "(int)(unaff_s0 + (int)pppppppbVar31)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(unaff_s0 + (int)pppppppbVar31)" (( "(") (binary_expression "unaff_s0 + (int)pppppppbVar31" (identifier "unaff_s0") (+ "+") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")")))) () ")"))) (, ",") (identifier "unaff_s7") () ")")))) (; ";")) (expression_statement "unaff_s0 = unaff_s0 + iVar12;" (assignment_expression "unaff_s0 = unaff_s0 + iVar12" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 + iVar12" (identifier "unaff_s0") (+ "+") (identifier "iVar12"))) (; ";")) (expression_statement "pppppppbVar6 = pppppppbVar17;" (assignment_expression "pppppppbVar6 = pppppppbVar17" (identifier "pppppppbVar6") (= "=") (identifier "pppppppbVar17")) (; ";")) (expression_statement "pppppppbVar19 = local_38;" (assignment_expression "pppppppbVar19 = local_38" (identifier "pppppppbVar19") (= "=") (identifier "local_38")) (; ";")) (expression_statement "(*pcVar30)(param_1,param_2);" (call_expression "(*pcVar30)(param_1,param_2)" (parenthesized_expression "(*pcVar30)" (( "(") (pointer_expression "*pcVar30" (* "*") (identifier "pcVar30")) () ")")) (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)unaff_s0 < (int)pppppppbVar3)" (( "(") (binary_expression "(int)unaff_s0 < (int)pppppppbVar3" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (< "<") (cast_expression "(int)pppppppbVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar3"))) () ")")) (; ";")) (expression_statement "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);" (assignment_expression "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)((int)pppppppbVar31 + (int)unaff_s0)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppbVar31 + (int)unaff_s0)" (( "(") (binary_expression "(int)pppppppbVar31 + (int)unaff_s0" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (+ "+") (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0"))) () ")")))) (; ";")) (} "}"))) (if_statement "if ((int)param_4 <= (int)pppppppbVar31) break;" (if "if") (parenthesized_expression "((int)param_4 <= (int)pppppppbVar31)" (( "(") (binary_expression "(int)param_4 <= (int)pppppppbVar31" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (<= "<=") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);" (assignment_expression "iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7)" (identifier "iVar12") (= "=") (call_expression "(*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7)" (( "(") (cast_expression "(byte *)((int)param_3 + (int)pppppppbVar31)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + (int)pppppppbVar31)" (( "(") (binary_expression "(int)param_3 + (int)pppppppbVar31" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")"))) (, ",") (identifier "unaff_s7") () ")")))) (; ";")) (expression_statement "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);" (assignment_expression "pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)((int)pppppppbVar31 + iVar12)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppbVar31 + iVar12)" (( "(") (binary_expression "(int)pppppppbVar31 + iVar12" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (+ "+") (identifier "iVar12")) () ")")))) (; ";")) (expression_statement "local_84 = local_3c + local_34;" (assignment_expression "local_84 = local_3c + local_34" (identifier "local_84") (= "=") (binary_expression "local_3c + local_34" (identifier "local_3c") (+ "+") (identifier "local_34"))) (; ";")) (expression_statement "pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));" (assignment_expression "pppppppbVar19 =\n             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c))" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c))" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c))" (( "(") (binary_expression "(byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c)" (cast_expression "(byte *)((int)local_40 + (int)local_38)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_40 + (int)local_38)" (( "(") (binary_expression "(int)local_40 + (int)local_38" (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) (+ "+") (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38"))) () ")"))) (+ "+") (parenthesized_expression "(local_84 < local_3c)" (( "(") (binary_expression "local_84 < local_3c" (identifier "local_84") (< "<") (identifier "local_3c")) () ")"))) () ")")))) (; ";")) (expression_statement "pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);" (assignment_expression "pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc)" (identifier "pppppppbVar6") (= "=") (cast_expression "(byte *******)(puVar28 + -0x4cdc)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar28 + -0x4cdc)" (( "(") (binary_expression "puVar28 + -0x4cdc" (identifier "puVar28") (+ "+") (number_literal "-0x4cdc")) () ")")))) (; ";")) (expression_statement "local_88 = pppppppbVar19;" (assignment_expression "local_88 = pppppppbVar19" (identifier "local_88") (= "=") (identifier "pppppppbVar19")) (; ";")) (expression_statement "local_40 = pppppppbVar19;" (assignment_expression "local_40 = pppppppbVar19" (identifier "local_40") (= "=") (identifier "pppppppbVar19")) (; ";")) (expression_statement "local_3c = local_84;" (assignment_expression "local_3c = local_84" (identifier "local_3c") (= "=") (identifier "local_84")) (; ";")) (expression_statement "(*pcVar30)(param_1,param_2);" (call_expression "(*pcVar30)(param_1,param_2)" (parenthesized_expression "(*pcVar30)" (( "(") (pointer_expression "*pcVar30" (* "*") (identifier "pcVar30")) () ")")) (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pppppppbVar31 < (int)param_4)" (( "(") (binary_expression "(int)pppppppbVar31 < (int)param_4" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (< "<") (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4"))) () ")")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_2c == *(int *)puVar2) {\n    return pppppppbVar31;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar2)" (( "(") (binary_expression "local_2c == *(int *)puVar2" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) () ")")) (compound_statement "{\n    return pppppppbVar31;\n  }" ({ "{") (return_statement "return pppppppbVar31;" (return "return") (identifier "pppppppbVar31") (; ";")) (} "}"))) (expression_statement "uVar35 = 0xb80e8;" (assignment_expression "uVar35 = 0xb80e8" (identifier "uVar35") (= "=") (number_literal "0xb80e8")) (; ";")) (expression_statement "iVar12 = local_2c;" (assignment_expression "iVar12 = local_2c" (identifier "iVar12") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar28 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar28 = PTR___stack_chk_fail_00190df8" (identifier "puVar28") (= "=") (identifier "PTR___stack_chk_fail_00190df8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_148 = puVar28 + 0xe0838;" (assignment_expression "local_148 = puVar28 + 0xe0838" (identifier "local_148") (= "=") (binary_expression "puVar28 + 0xe0838" (identifier "puVar28") (+ "+") (number_literal "0xe0838"))) (; ";")) (expression_statement "local_130 = *(int **)(puVar28 + 0xd8d3c);" (assignment_expression "local_130 = *(int **)(puVar28 + 0xd8d3c)" (identifier "local_130") (= "=") (pointer_expression "*(int **)(puVar28 + 0xd8d3c)" (* "*") (cast_expression "(int **)(puVar28 + 0xd8d3c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0xd8d3c)" (( "(") (binary_expression "puVar28 + 0xd8d3c" (identifier "puVar28") (+ "+") (number_literal "0xd8d3c")) () ")"))))) (; ";")) (expression_statement "local_110 = (byte *******)0x0;" (assignment_expression "local_110 = (byte *******)0x0" (identifier "local_110") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_c4 = (byte *******)*local_130;" (assignment_expression "local_c4 = (byte *******)*local_130" (identifier "local_c4") (= "=") (cast_expression "(byte *******)*local_130" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*local_130" (* "*") (identifier "local_130")))) (; ";")) (expression_statement "iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);" (assignment_expression "iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(*(int *)(iVar12 + 4) + 8)" (* "*") (cast_expression "(int *)(*(int *)(iVar12 + 4) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar12 + 4) + 8)" (( "(") (binary_expression "*(int *)(iVar12 + 4) + 8" (pointer_expression "*(int *)(iVar12 + 4)" (* "*") (cast_expression "(int *)(iVar12 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 4)" (( "(") (binary_expression "iVar12 + 4" (identifier "iVar12") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_100 = (byte *******)0x0;" (assignment_expression "local_100 = (byte *******)0x0" (identifier "local_100") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_fc = (byte *******)0x0;" (assignment_expression "local_fc = (byte *******)0x0" (identifier "local_fc") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" (identifier "local_f8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppbVar18 = pppppppbVar6;" (assignment_expression "pppppppbVar18 = pppppppbVar6" (identifier "pppppppbVar18") (= "=") (identifier "pppppppbVar6")) (; ";")) (expression_statement "local_c0 = unaff_s0;" (assignment_expression "local_c0 = unaff_s0" (identifier "local_c0") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "local_bc = param_1;" (assignment_expression "local_bc = param_1" (identifier "local_bc") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_b8 = param_2;" (assignment_expression "local_b8 = param_2" (identifier "local_b8") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_ac = unaff_s5;" (assignment_expression "local_ac = unaff_s5" (identifier "local_ac") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "local_a8 = unaff_s6;" (assignment_expression "local_a8 = unaff_s6" (identifier "local_a8") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "local_a4 = unaff_s7;" (assignment_expression "local_a4 = unaff_s7" (identifier "local_a4") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "local_a0 = pppppppbVar31;" (assignment_expression "local_a0 = pppppppbVar31" (identifier "local_a0") (= "=") (identifier "pppppppbVar31")) (; ";")) (expression_statement "local_9c = uVar35;" (assignment_expression "local_9c = uVar35" (identifier "local_9c") (= "=") (identifier "uVar35")) (; ";")) (expression_statement "uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);" (assignment_expression "uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6)" (identifier "uVar37") (= "=") (call_expression "(*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6)" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68)" (* "*") (cast_expression "(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar28 + 0xd8ac0) + 0x7f68)" (( "(") (binary_expression "*(int *)(puVar28 + 0xd8ac0) + 0x7f68" (pointer_expression "*(int *)(puVar28 + 0xd8ac0)" (* "*") (cast_expression "(int *)(puVar28 + 0xd8ac0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar28 + 0xd8ac0)" (( "(") (binary_expression "puVar28 + 0xd8ac0" (identifier "puVar28") (+ "+") (number_literal "0xd8ac0")) () ")")))) (+ "+") (number_literal "0x7f68")) () ")")))) () ")")) (argument_list "(*pppppppbVar6)" (( "(") (pointer_expression "*pppppppbVar6" (* "*") (identifier "pppppppbVar6")) () ")")))) (; ";")) (expression_statement "uVar4 = (uint)((ulonglong)uVar37 >> 0x20);" (assignment_expression "uVar4 = (uint)((ulonglong)uVar37 >> 0x20)" (identifier "uVar4") (= "=") (call_expression "(uint)((ulonglong)uVar37 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar37 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar37 >> 0x20" (cast_expression "(ulonglong)uVar37" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar37")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar14 = (uint)uVar37;" (assignment_expression "uVar14 = (uint)uVar37" (identifier "uVar14") (= "=") (cast_expression "(uint)uVar37" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar37"))) (; ";")) (expression_statement "iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);" (assignment_expression "iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1)" (identifier "iVar5") (= "=") (call_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))" (( "(") (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88)" (* "*") (cast_expression "(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d60) + 0x6c88)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d60) + 0x6c88" (pointer_expression "*(int *)(local_148 + -0x7d60)" (* "*") (cast_expression "(int *)(local_148 + -0x7d60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d60)" (( "(") (binary_expression "local_148 + -0x7d60" (identifier "local_148") (+ "+") (number_literal "-0x7d60")) () ")")))) (+ "+") (number_literal "0x6c88")) () ")")))) () ")")) (argument_list "(pppppppbVar6[1],1)" (( "(") (subscript_expression "pppppppbVar6[1]" (identifier "pppppppbVar6") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);" (assignment_expression "uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1])" (identifier "uVar35") (= "=") (call_expression "(**(code **)(local_148 + -0x7f64))(pppppppbVar6[1])" (parenthesized_expression "(**(code **)(local_148 + -0x7f64))" (( "(") (pointer_expression "**(code **)(local_148 + -0x7f64)" (* "*") (pointer_expression "*(code **)(local_148 + -0x7f64)" (* "*") (cast_expression "(code **)(local_148 + -0x7f64)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_148 + -0x7f64)" (( "(") (binary_expression "local_148 + -0x7f64" (identifier "local_148") (+ "+") (number_literal "-0x7f64")) () ")"))))) () ")")) (argument_list "(pppppppbVar6[1])" (( "(") (subscript_expression "pppppppbVar6[1]" (identifier "pppppppbVar6") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (if_statement "if (local_110 == (byte *******)0x0) {\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }\n  else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }" (if "if") (parenthesized_expression "(local_110 == (byte *******)0x0)" (( "(") (binary_expression "local_110 == (byte *******)0x0" (identifier "local_110") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pppppppbVar19 = (byte *******)(iVar5 + 8);\n    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);\n    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);\n    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;\n    if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }\n    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);\n    local_138 = (byte *******)(uVar14 & 0x7fffffff);\n    iVar33 = uVar4 << 0x1b;\n    if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }\n    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 == (byte *******)0x0) goto LAB_000b8300;\nLAB_000b8280:\n    pppppppbVar6 = local_110;\n    (**(code **)(local_148 + -0x7f4c))(iVar12);\n  }" ({ "{") (expression_statement "pppppppbVar19 = (byte *******)(iVar5 + 8);" (assignment_expression "pppppppbVar19 = (byte *******)(iVar5 + 8)" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)(iVar5 + 8)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);" (assignment_expression "pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)((int)pppppppbVar19 >> 0x1f)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppbVar19 >> 0x1f)" (( "(") (binary_expression "(int)pppppppbVar19 >> 0x1f" (cast_expression "(int)pppppppbVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar19")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);" (assignment_expression "pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110)" (identifier "pppppppbVar6") (= "=") (cast_expression "(byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))" (( "(") (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0)" (* "*") (cast_expression "(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d68) + 0x51c0)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d68) + 0x51c0" (pointer_expression "*(int *)(local_148 + -0x7d68)" (* "*") (cast_expression "(int *)(local_148 + -0x7d68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d68)" (( "(") (binary_expression "local_148 + -0x7d68" (identifier "local_148") (+ "+") (number_literal "-0x7d68")) () ")")))) (+ "+") (number_literal "0x51c0")) () ")")))) () ")")) (argument_list "(&local_110)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) () ")"))))) (; ";")) (if_statement "if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;" (if "if") (parenthesized_expression "(pppppppbVar6 == (byte *******)0x0)" (( "(") (binary_expression "pppppppbVar6 == (byte *******)0x0" (identifier "pppppppbVar6") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b82dc;" (goto "goto") (statement_identifier "LAB_000b82dc") (; ";"))) (if_statement "if (0 < iVar5) {\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }" (if "if") (parenthesized_expression "(0 < iVar5)" (( "(") (binary_expression "0 < iVar5" (number_literal "0") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);\n    }" ({ "{") (expression_statement "(**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);" (call_expression "(**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5)" (parenthesized_expression "(**(code **)(local_148 + -0x7af4))" (( "(") (pointer_expression "**(code **)(local_148 + -0x7af4)" (* "*") (pointer_expression "*(code **)(local_148 + -0x7af4)" (* "*") (cast_expression "(code **)(local_148 + -0x7af4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_148 + -0x7af4)" (( "(") (binary_expression "local_148 + -0x7af4" (identifier "local_148") (+ "+") (number_literal "-0x7af4")) () ")"))))) () ")")) (argument_list "(pppppppbVar6,uVar35,iVar5)" (( "(") (identifier "pppppppbVar6") (, ",") (identifier "uVar35") (, ",") (identifier "iVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);" (assignment_expression "pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)((uVar4 << 0xb) >> 0x10)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uVar4 << 0xb) >> 0x10)" (( "(") (binary_expression "(uVar4 << 0xb) >> 0x10" (parenthesized_expression "(uVar4 << 0xb)" (( "(") (binary_expression "uVar4 << 0xb" (identifier "uVar4") (<< "<<") (number_literal "0xb")) () ")")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "local_138 = (byte *******)(uVar14 & 0x7fffffff);" (assignment_expression "local_138 = (byte *******)(uVar14 & 0x7fffffff)" (identifier "local_138") (= "=") (cast_expression "(byte *******)(uVar14 & 0x7fffffff)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(uVar14 & 0x7fffffff)" (( "(") (binary_expression "uVar14 & 0x7fffffff" (identifier "uVar14") (& "&") (number_literal "0x7fffffff")) () ")")))) (; ";")) (expression_statement "iVar33 = uVar4 << 0x1b;" (assignment_expression "iVar33 = uVar4 << 0x1b" (identifier "iVar33") (= "=") (binary_expression "uVar4 << 0x1b" (identifier "uVar4") (<< "<<") (number_literal "0x1b"))) (; ";")) (if_statement "if (pppppppbVar31 != (byte *******)0x0) {\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }" (if "if") (parenthesized_expression "(pppppppbVar31 != (byte *******)0x0)" (( "(") (binary_expression "pppppppbVar31 != (byte *******)0x0" (identifier "pppppppbVar31") (!= "!=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);\n      local_158 = pppppppbVar31;\n      local_150 = local_138;\n      if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }\n      goto LAB_000b82e8;\n    }" ({ "{") (expression_statement "local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);" (assignment_expression "local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f)" (identifier "local_154") (= "=") (cast_expression "(byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uVar4 & 0xf) << 1 | uVar14 >> 0x1f)" (( "(") (binary_expression "(uVar4 & 0xf) << 1 | uVar14 >> 0x1f" (binary_expression "(uVar4 & 0xf) << 1" (parenthesized_expression "(uVar4 & 0xf)" (( "(") (binary_expression "uVar4 & 0xf" (identifier "uVar4") (& "&") (number_literal "0xf")) () ")")) (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar14 >> 0x1f" (identifier "uVar14") (>> ">>") (number_literal "0x1f"))) () ")")))) (; ";")) (expression_statement "local_158 = pppppppbVar31;" (assignment_expression "local_158 = pppppppbVar31" (identifier "local_158") (= "=") (identifier "pppppppbVar31")) (; ";")) (expression_statement "local_150 = local_138;" (assignment_expression "local_150 = local_138" (identifier "local_150") (= "=") (identifier "local_138")) (; ";")) (if_statement "if (iVar33 < 0) {\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }" (if "if") (parenthesized_expression "(iVar33 < 0)" (( "(") (binary_expression "iVar33 < 0" (identifier "iVar33") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);\n        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);\n        FUN_000b7b38(&local_110,&local_100);\n        goto LAB_000b8528;\n      }" ({ "{") (expression_statement "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (identifier "local_13c") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (( "(") (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" (* "*") (cast_expression "(int *)(local_148 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7cf4)" (( "(") (binary_expression "local_148 + -0x7cf4" (identifier "local_148") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "0x7b38")) () ")")))) (; ";")) (expression_statement "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);" (assignment_expression "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44)" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c44)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c44" (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x4c44")) () ")")))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c60)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c60" (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x4c60")) () ")")))) (; ";")) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" (identifier "FUN_000b7b38") (argument_list "(&local_110,&local_100)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) () ")"))) (; ";")) (goto_statement "goto LAB_000b8528;" (goto "goto") (statement_identifier "LAB_000b8528") (; ";")) (} "}"))) (expression_statement "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (identifier "local_13c") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (( "(") (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" (* "*") (cast_expression "(int *)(local_148 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7cf4)" (( "(") (binary_expression "local_148 + -0x7cf4" (identifier "local_148") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "0x7b38")) () ")")))) (; ";")) (expression_statement "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);" (assignment_expression "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc8) + 0x30a8)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc8) + 0x30a8" (pointer_expression "*(int *)(local_148 + -0x7fc8)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc8)" (( "(") (binary_expression "local_148 + -0x7fc8" (identifier "local_148") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x30a8")) () ")")))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c60)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c60" (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x4c60")) () ")")))) (; ";")) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" (identifier "FUN_000b7b38") (argument_list "(&local_110,&local_100)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) () ")"))) (; ";")) (if_statement "if (iVar32 == 0) {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_104 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }\n        pppppppbVar18 = (byte *******)&DAT_00000007;\n        local_fc = (byte *******)0x0;\n        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);\n        FUN_000ac7ac(&local_110,&local_100);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" ({ "{") (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" (identifier "local_138") (= "=") (cast_expression "(byte *******)&local_e8" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")))) (; ";")) (expression_statement "local_e8 = (byte *******)0x0;" (assignment_expression "local_e8 = (byte *******)0x0" (identifier "local_e8") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_104 = (byte *******)0x0;" (assignment_expression "local_104 = (byte *******)0x0" (identifier "local_104") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e4 = (byte *******)0x0;" (assignment_expression "local_e4 = (byte *******)0x0" (identifier "local_e4") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" (identifier "local_e0") (= "=") (number_literal "0")) (; ";")) (if_statement "if (3 < iVar5) {\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }" (if "if") (parenthesized_expression "(3 < iVar5)" (( "(") (binary_expression "3 < iVar5" (number_literal "3") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n          local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n          local_124 = (byte *******)(uint)((int)local_12c < iVar5);\n          pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);\n          if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }\n          local_110 = (byte *******)0x10b;\n          pppppppbVar31 = local_110;\n          goto LAB_000b8260;\n        }" ({ "{") (expression_statement "local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);" (assignment_expression "local_12c = (byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" (identifier "local_12c") (= "=") (cast_expression "(byte *******)\n                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" (( "(") (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n                       (uint)*(byte *)((int)pppppppbVar6 + 3)" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pppppppbVar6 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + 2)" (( "(") (binary_expression "(int)pppppppbVar6 + 2" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (number_literal "2")) () ")")))) (* "*") (number_literal "0x100")) (+ "+") (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pppppppbVar6 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + 3)" (( "(") (binary_expression "(int)pppppppbVar6 + 3" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (number_literal "3")) () ")"))))) (& "&") (number_literal "0xffff")) () ")")))) (; ";")) (expression_statement "local_124 = (byte *******)(uint)((int)local_12c < iVar5);" (assignment_expression "local_124 = (byte *******)(uint)((int)local_12c < iVar5)" (identifier "local_124") (= "=") (cast_expression "(byte *******)(uint)((int)local_12c < iVar5)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(uint)((int)local_12c < iVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_12c < iVar5)" (( "(") (binary_expression "(int)local_12c < iVar5" (cast_expression "(int)local_12c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_12c")) (< "<") (identifier "iVar5")) () ")"))))) (; ";")) (expression_statement "pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff);" (assignment_expression "pppppppbVar31 =\n               (byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)\n               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff)" (( "(") (binary_expression "(uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &\n               0xffff" (binary_expression "(uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1)" (binary_expression "(uint)*(byte *)pppppppbVar6 * 0x100" (binary_expression "(uint)*(byte *)pppppppbVar6" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)pppppppbVar6" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppbVar6"))) (* "*") (number_literal "0x100")) (+ "+") (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pppppppbVar6 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + 1)" (( "(") (binary_expression "(int)pppppppbVar6 + 1" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (number_literal "1")) () ")"))))) (& "&") (number_literal "0xffff")) () ")")))) (; ";")) (if_statement "if (local_124 == (byte *******)0x0) {\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }\n          else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(local_124 == (byte *******)0x0)" (( "(") (binary_expression "local_124 == (byte *******)0x0" (identifier "local_124") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }\n          }" ({ "{") (if_statement "if ((int)local_12c <= iVar5) {\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }" (if "if") (parenthesized_expression "((int)local_12c <= iVar5)" (( "(") (binary_expression "(int)local_12c <= iVar5" (cast_expression "(int)local_12c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_12c")) (<= "<=") (identifier "iVar5")) () ")")) (compound_statement "{\n              if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }\n              goto LAB_000b887c;\n            }" ({ "{") (if_statement "if (pppppppbVar31 == (byte *******)0x0) {\n                pppppppbVar31 = local_12c;\n              }" (if "if") (parenthesized_expression "(pppppppbVar31 == (byte *******)0x0)" (( "(") (binary_expression "pppppppbVar31 == (byte *******)0x0" (identifier "pppppppbVar31") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                pppppppbVar31 = local_12c;\n              }" ({ "{") (expression_statement "pppppppbVar31 = local_12c;" (assignment_expression "pppppppbVar31 = local_12c" (identifier "pppppppbVar31") (= "=") (identifier "local_12c")) (; ";")) (} "}"))) (goto_statement "goto LAB_000b887c;" (goto "goto") (statement_identifier "LAB_000b887c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" (else "else") (compound_statement "{\n            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);\n            if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }\nLAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }\n          }" ({ "{") (expression_statement "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);" (call_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))" (( "(") (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" (* "*") (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" (* "*") (cast_expression "(int *)(local_148 + -0x7d7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d7c)" (( "(") (binary_expression "local_148 + -0x7d7c" (identifier "local_148") (+ "+") (number_literal "-0x7d7c")) () ")")))) (+ "+") (number_literal "0x610c")) () ")")))) () ")")) (argument_list "((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104)" (( "(") (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_12c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)local_12c)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)local_12c" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)local_12c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_12c"))) () ")"))) (, ",") (pointer_expression "&local_104" (& "&") (identifier "local_104")) () ")"))) (; ";")) (if_statement "if ((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {\n              pppppppbVar31 = local_12c;\n            }" (if "if") (parenthesized_expression "((pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0))" (( "(") (binary_expression "(pppppppbVar31 == (byte *******)0x0) &&\n               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)" (parenthesized_expression "(pppppppbVar31 == (byte *******)0x0)" (( "(") (binary_expression "pppppppbVar31 == (byte *******)0x0" (identifier "pppppppbVar31") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pppppppbVar31 = local_104, local_104 == (byte *******)0x0)" (( "(") (comma_expression "pppppppbVar31 = local_104, local_104 == (byte *******)0x0" (assignment_expression "pppppppbVar31 = local_104" (identifier "pppppppbVar31") (= "=") (identifier "local_104")) (, ",") (binary_expression "local_104 == (byte *******)0x0" (identifier "local_104") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n              pppppppbVar31 = local_12c;\n            }" ({ "{") (expression_statement "pppppppbVar31 = local_12c;" (assignment_expression "pppppppbVar31 = local_12c" (identifier "pppppppbVar31") (= "=") (identifier "local_12c")) (; ";")) (} "}"))) (labeled_statement "LAB_000b887c:\n            if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" (statement_identifier "LAB_000b887c") (: ":") (if_statement "if ((int)pppppppbVar31 <= iVar5) {\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" (if "if") (parenthesized_expression "((int)pppppppbVar31 <= iVar5)" (( "(") (binary_expression "(int)pppppppbVar31 <= iVar5" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (<= "<=") (identifier "iVar5")) () ")")) (compound_statement "{\n              if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }\n              pppppppbVar19 = local_104;\n              if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }\n              if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }\n            }" ({ "{") (if_statement "if (0 < (int)(pppppppbVar31 + -1)) {\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }" (if "if") (parenthesized_expression "(0 < (int)(pppppppbVar31 + -1))" (( "(") (binary_expression "0 < (int)(pppppppbVar31 + -1)" (number_literal "0") (< "<") (cast_expression "(int)(pppppppbVar31 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pppppppbVar31 + -1)" (( "(") (binary_expression "pppppppbVar31 + -1" (identifier "pppppppbVar31") (+ "+") (number_literal "-1")) () ")")))) () ")")) (compound_statement "{\n                local_128 = (byte *******)&local_f4;\n                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                iVar33 = *(int *)(local_148 + -0x7fc4);\n                iVar32 = 0;\n                do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));\n              }" ({ "{") (expression_statement "local_128 = (byte *******)&local_f4;" (assignment_expression "local_128 = (byte *******)&local_f4" (identifier "local_128") (= "=") (cast_expression "(byte *******)&local_f4" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_f4" (& "&") (identifier "local_f4")))) (; ";")) (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" (identifier "local_134") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" (* "*") (cast_expression "(int *)(local_148 + -0x7d7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d7c)" (( "(") (binary_expression "local_148 + -0x7d7c" (identifier "local_148") (+ "+") (number_literal "-0x7d7c")) () ")")))) (+ "+") (number_literal "0x610c")) () ")")))) (; ";")) (expression_statement "iVar33 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar33 = *(int *)(local_148 + -0x7fc4)" (identifier "iVar33") (= "=") (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")"))))) (; ";")) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                } while (iVar32 < (int)(pppppppbVar31 + -1));" (do "do") (compound_statement "{\n                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);\n                  iVar32 = iVar32 + iVar7;\n                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);\n                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);\n                }" ({ "{") (expression_statement "iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);" (assignment_expression "iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128)" (identifier "iVar7") (= "=") (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128)" (parenthesized_expression "(*local_134)" (( "(") (pointer_expression "*local_134" (* "*") (identifier "local_134")) () ")")) (argument_list "((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128)" (( "(") (cast_expression "(byte *)((int)pppppppbVar6 + iVar32 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + iVar32 + 4)" (( "(") (binary_expression "(int)pppppppbVar6 + iVar32 + 4" (binary_expression "(int)pppppppbVar6 + iVar32" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (identifier "iVar32")) (+ "+") (number_literal "4")) () ")"))) (, ",") (identifier "local_128") () ")")))) (; ";")) (expression_statement "iVar32 = iVar32 + iVar7;" (assignment_expression "iVar32 = iVar32 + iVar7" (identifier "iVar32") (= "=") (binary_expression "iVar32 + iVar7" (identifier "iVar32") (+ "+") (identifier "iVar7"))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)(iVar33 + -0x556c);" (assignment_expression "pppppppbVar18 = (byte *******)(iVar33 + -0x556c)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)(iVar33 + -0x556c)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar33 + -0x556c)" (( "(") (binary_expression "iVar33 + -0x556c" (identifier "iVar33") (+ "+") (number_literal "-0x556c")) () ")")))) (; ";")) (expression_statement "(*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);" (call_expression "(*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4)" (parenthesized_expression "(*local_13c)" (( "(") (pointer_expression "*local_13c" (* "*") (identifier "local_13c")) () ")")) (argument_list "(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) (, ",") (cast_expression "(byte *******)(iVar33 + -0x556c)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar33 + -0x556c)" (( "(") (binary_expression "iVar33 + -0x556c" (identifier "iVar33") (+ "+") (number_literal "-0x556c")) () ")"))) (, ",") (identifier "local_f4") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar32 < (int)(pppppppbVar31 + -1))" (( "(") (binary_expression "iVar32 < (int)(pppppppbVar31 + -1)" (identifier "iVar32") (< "<") (cast_expression "(int)(pppppppbVar31 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pppppppbVar31 + -1)" (( "(") (binary_expression "pppppppbVar31 + -1" (identifier "pppppppbVar31") (+ "+") (number_literal "-1")) () ")")))) () ")")) (; ";")) (} "}"))) (expression_statement "pppppppbVar19 = local_104;" (assignment_expression "pppppppbVar19 = local_104" (identifier "pppppppbVar19") (= "=") (identifier "local_104")) (; ";")) (if_statement "if (local_104 == (byte *******)0x0) {\n                pppppppbVar19 = local_12c;\n              }" (if "if") (parenthesized_expression "(local_104 == (byte *******)0x0)" (( "(") (binary_expression "local_104 == (byte *******)0x0" (identifier "local_104") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                pppppppbVar19 = local_12c;\n              }" ({ "{") (expression_statement "pppppppbVar19 = local_12c;" (assignment_expression "pppppppbVar19 = local_12c" (identifier "pppppppbVar19") (= "=") (identifier "local_12c")) (; ";")) (} "}"))) (if_statement "if ((int)pppppppbVar19 <= iVar5) {\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }" (if "if") (parenthesized_expression "((int)pppppppbVar19 <= iVar5)" (( "(") (binary_expression "(int)pppppppbVar19 <= iVar5" (cast_expression "(int)pppppppbVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar19")) (<= "<=") (identifier "iVar5")) () ")")) (compound_statement "{\n                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);\n                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);\n                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);\n                FUN_000b7e40(&local_110,&local_100);\n                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }\n                goto LAB_000b84cc;\n              }" ({ "{") (expression_statement "pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);" (assignment_expression "pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31)" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)((int)pppppppbVar19 - (int)pppppppbVar31)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppbVar19 - (int)pppppppbVar31)" (( "(") (binary_expression "(int)pppppppbVar19 - (int)pppppppbVar31" (cast_expression "(int)pppppppbVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar19")) (- "-") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")")))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);" (assignment_expression "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)((int)pppppppbVar6 + (int)pppppppbVar31)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")")))) (; ";")) (expression_statement "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);" (assignment_expression "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40)" (identifier "local_120") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7e40)" (( "(") (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7e40" (pointer_expression "*(int *)(local_148 + -0x7cf4)" (* "*") (cast_expression "(int *)(local_148 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7cf4)" (( "(") (binary_expression "local_148 + -0x7cf4" (identifier "local_148") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "0x7e40")) () ")")))) (; ";")) (expression_statement "FUN_000b7e40(&local_110,&local_100);" (call_expression "FUN_000b7e40(&local_110,&local_100)" (identifier "FUN_000b7e40") (argument_list "(&local_110,&local_100)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) () ")"))) (; ";")) (if_statement "if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }" (if "if") (parenthesized_expression "((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0))" (( "(") (binary_expression "(local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)" (parenthesized_expression "(local_124 != (byte *******)0x0)" (( "(") (binary_expression "local_124 != (byte *******)0x0" (identifier "local_124") (!= "!=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_110 == (byte *******)0x0)" (( "(") (binary_expression "local_110 == (byte *******)0x0" (identifier "local_110") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n                  local_124 = (byte *******)&local_f4;\n                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;\n                  pbVar27 = (byte *)0x0;\n                  pppppppbVar31 = local_12c;\n                  while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }\n                  local_114 = local_124;\n                  local_124 = local_128;\n                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);\n                  local_128 = (byte *******)(pbVar27 + (int)local_f4);\n                  pppppppbVar17 = local_114;\n                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;\nLAB_000b8afc:\n                  local_110 = (byte *******)0x10b;\n                }" ({ "{") (expression_statement "local_124 = (byte *******)&local_f4;" (assignment_expression "local_124 = (byte *******)&local_f4" (identifier "local_124") (= "=") (cast_expression "(byte *******)&local_f4" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_f4" (& "&") (identifier "local_f4")))) (; ";")) (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" (identifier "local_134") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" (* "*") (cast_expression "(int *)(local_148 + -0x7d7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d7c)" (( "(") (binary_expression "local_148 + -0x7d7c" (identifier "local_148") (+ "+") (number_literal "-0x7d7c")) () ")")))) (+ "+") (number_literal "0x610c")) () ")")))) (; ";")) (expression_statement "local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);" (assignment_expression "local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" (identifier "local_11c") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + -0x3854)" (( "(") (binary_expression "*(int *)(local_148 + -0x7cf4) + -0x3854" (pointer_expression "*(int *)(local_148 + -0x7cf4)" (* "*") (cast_expression "(int *)(local_148 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7cf4)" (( "(") (binary_expression "local_148 + -0x7cf4" (identifier "local_148") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "-0x3854")) () ")")))) (; ";")) (expression_statement "local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;" (assignment_expression "local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c" (identifier "local_118") (= "=") (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c6c" (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x4c6c"))) (; ";")) (expression_statement "pbVar27 = (byte *)0x0;" (assignment_expression "pbVar27 = (byte *)0x0" (identifier "pbVar27") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppbVar31 = local_12c;" (assignment_expression "pppppppbVar31 = local_12c" (identifier "pppppppbVar31") (= "=") (identifier "local_12c")) (; ";")) (while_statement "while( true ) {\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                    local_128 = local_124;\n                    pppppppbVar11 = local_124;\n                    local_124 = pppppppbVar31;\n                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);\n                    pppppppbVar11 = local_128;\n                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);\n                    pbVar27 = pbVar27 + (int)local_f4;\n                    if ((int)pppppppbVar31 < iVar5) break;\n                    local_128 = local_12c;\n                    pppppppbVar17 = local_124;\n                    local_124 = pppppppbVar11;\nLAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);\n                    pbVar34 = pbVar27;\n                    if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }\n                    iVar32 = (*local_134)(pbVar15,local_124);\n                    pbVar34 = pbVar34 + iVar32;\n                    pppppppbVar18 = local_f4;\n                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;\n                    (*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));\n                    pbVar34 = pbVar34 + (int)local_f4;\n                    local_158 = local_e8;\n                    (*local_13c)(&local_110,&local_100,local_118,local_e4);\n                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);\n                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);\n                    (*local_120)(&local_110,&local_100);\n                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;\n                  }" ({ "{") (expression_statement "local_128 = local_124;" (assignment_expression "local_128 = local_124" (identifier "local_128") (= "=") (identifier "local_124")) (; ";")) (expression_statement "pppppppbVar11 = local_124;" (assignment_expression "pppppppbVar11 = local_124" (identifier "pppppppbVar11") (= "=") (identifier "local_124")) (; ";")) (expression_statement "local_124 = pppppppbVar31;" (assignment_expression "local_124 = pppppppbVar31" (identifier "local_124") (= "=") (identifier "pppppppbVar31")) (; ";")) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11)" (identifier "iVar32") (= "=") (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11)" (parenthesized_expression "(*local_134)" (( "(") (pointer_expression "*local_134" (* "*") (identifier "local_134")) () ")")) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),\n                                          pppppppbVar11)" (( "(") (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar31)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")"))) (, ",") (identifier "pppppppbVar11") () ")")))) (; ";")) (expression_statement "pppppppbVar11 = local_128;" (assignment_expression "pppppppbVar11 = local_128" (identifier "pppppppbVar11") (= "=") (identifier "local_128")) (; ";")) (expression_statement "pppppppbVar31 = (byte *******)((int)local_124 + iVar32);" (assignment_expression "pppppppbVar31 = (byte *******)((int)local_124 + iVar32)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)((int)local_124 + iVar32)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_124 + iVar32)" (( "(") (binary_expression "(int)local_124 + iVar32" (cast_expression "(int)local_124" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_124")) (+ "+") (identifier "iVar32")) () ")")))) (; ";")) (expression_statement "pbVar27 = pbVar27 + (int)local_f4;" (assignment_expression "pbVar27 = pbVar27 + (int)local_f4" (identifier "pbVar27") (= "=") (binary_expression "pbVar27 + (int)local_f4" (identifier "pbVar27") (+ "+") (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")))) (; ";")) (if_statement "if ((int)pppppppbVar31 < iVar5) break;" (if "if") (parenthesized_expression "((int)pppppppbVar31 < iVar5)" (( "(") (binary_expression "(int)pppppppbVar31 < iVar5" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (< "<") (identifier "iVar5")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_128 = local_12c;" (assignment_expression "local_128 = local_12c" (identifier "local_128") (= "=") (identifier "local_12c")) (; ";")) (expression_statement "pppppppbVar17 = local_124;" (assignment_expression "pppppppbVar17 = local_124" (identifier "pppppppbVar17") (= "=") (identifier "local_124")) (; ";")) (expression_statement "local_124 = pppppppbVar11;" (assignment_expression "local_124 = pppppppbVar11" (identifier "local_124") (= "=") (identifier "pppppppbVar11")) (; ";")) (labeled_statement "LAB_000b8a74:\n                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);" (statement_identifier "LAB_000b8a74") (: ":") (expression_statement "pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);" (assignment_expression "pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27)" (identifier "pbVar15") (= "=") (cast_expression "(byte *)((int)pppppppbVar6 + (int)pbVar27)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)pbVar27)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)pbVar27" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)pbVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar27"))) () ")")))) (; ";"))) (expression_statement "pbVar34 = pbVar27;" (assignment_expression "pbVar34 = pbVar27" (identifier "pbVar34") (= "=") (identifier "pbVar27")) (; ";")) (if_statement "if (local_12c != pppppppbVar17) {\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }" (if "if") (parenthesized_expression "(local_12c != pppppppbVar17)" (( "(") (binary_expression "local_12c != pppppppbVar17" (identifier "local_12c") (!= "!=") (identifier "pppppppbVar17")) () ")")) (compound_statement "{\n                      iVar32 = (*local_134)(pbVar15,local_124);\n                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;\n                      local_e4 = local_f4;\n                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));\n                      pbVar34 = pbVar27 + iVar32;\n                    }" ({ "{") (expression_statement "iVar32 = (*local_134)(pbVar15,local_124);" (assignment_expression "iVar32 = (*local_134)(pbVar15,local_124)" (identifier "iVar32") (= "=") (call_expression "(*local_134)(pbVar15,local_124)" (parenthesized_expression "(*local_134)" (( "(") (pointer_expression "*local_134" (* "*") (identifier "local_134")) () ")")) (argument_list "(pbVar15,local_124)" (( "(") (identifier "pbVar15") (, ",") (identifier "local_124") () ")")))) (; ";")) (if_statement "if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;" (if "if") (parenthesized_expression "((int)local_e4 < (int)local_f4)" (( "(") (binary_expression "(int)local_e4 < (int)local_f4" (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4")) (< "<") (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4"))) () ")")) (goto_statement "goto LAB_000b8afc;" (goto "goto") (statement_identifier "LAB_000b8afc") (; ";"))) (expression_statement "local_e4 = local_f4;" (assignment_expression "local_e4 = local_f4" (identifier "local_e4") (= "=") (identifier "local_f4")) (; ";")) (expression_statement "pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));" (assignment_expression "pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32))" (identifier "pbVar15") (= "=") (cast_expression "(byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)(pbVar27 + iVar32))" (( "(") (binary_expression "(int)pppppppbVar6 + (int)(pbVar27 + iVar32)" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)(pbVar27 + iVar32)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar27 + iVar32)" (( "(") (binary_expression "pbVar27 + iVar32" (identifier "pbVar27") (+ "+") (identifier "iVar32")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar34 = pbVar27 + iVar32;" (assignment_expression "pbVar34 = pbVar27 + iVar32" (identifier "pbVar34") (= "=") (binary_expression "pbVar27 + iVar32" (identifier "pbVar27") (+ "+") (identifier "iVar32"))) (; ";")) (} "}"))) (expression_statement "iVar32 = (*local_134)(pbVar15,local_124);" (assignment_expression "iVar32 = (*local_134)(pbVar15,local_124)" (identifier "iVar32") (= "=") (call_expression "(*local_134)(pbVar15,local_124)" (parenthesized_expression "(*local_134)" (( "(") (pointer_expression "*local_134" (* "*") (identifier "local_134")) () ")")) (argument_list "(pbVar15,local_124)" (( "(") (identifier "pbVar15") (, ",") (identifier "local_124") () ")")))) (; ";")) (expression_statement "pbVar34 = pbVar34 + iVar32;" (assignment_expression "pbVar34 = pbVar34 + iVar32" (identifier "pbVar34") (= "=") (binary_expression "pbVar34 + iVar32" (identifier "pbVar34") (+ "+") (identifier "iVar32"))) (; ";")) (expression_statement "pppppppbVar18 = local_f4;" (assignment_expression "pppppppbVar18 = local_f4" (identifier "pppppppbVar18") (= "=") (identifier "local_f4")) (; ";")) (if_statement "if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;" (if "if") (parenthesized_expression "(iVar5 < (int)((int)local_f4 + (int)pbVar34))" (( "(") (binary_expression "iVar5 < (int)((int)local_f4 + (int)pbVar34)" (identifier "iVar5") (< "<") (cast_expression "(int)((int)local_f4 + (int)pbVar34)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)local_f4 + (int)pbVar34)" (( "(") (binary_expression "(int)local_f4 + (int)pbVar34" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (+ "+") (cast_expression "(int)pbVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar34"))) () ")")))) () ")")) (goto_statement "goto LAB_000b8afc;" (goto "goto") (statement_identifier "LAB_000b8afc") (; ";"))) (expression_statement "(*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));" (call_expression "(*local_11c)(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34))" (parenthesized_expression "(*local_11c)" (( "(") (pointer_expression "*local_11c" (* "*") (identifier "local_11c")) () ")")) (argument_list "(&local_110,local_138,local_f4,\n                                 (byte *)((int)pppppppbVar6 + (int)pbVar34))" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (identifier "local_138") (, ",") (identifier "local_f4") (, ",") (cast_expression "(byte *)((int)pppppppbVar6 + (int)pbVar34)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)pbVar34)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)pbVar34" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)pbVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar34"))) () ")"))) () ")"))) (; ";")) (expression_statement "pbVar34 = pbVar34 + (int)local_f4;" (assignment_expression "pbVar34 = pbVar34 + (int)local_f4" (identifier "pbVar34") (= "=") (binary_expression "pbVar34 + (int)local_f4" (identifier "pbVar34") (+ "+") (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")))) (; ";")) (expression_statement "local_158 = local_e8;" (assignment_expression "local_158 = local_e8" (identifier "local_158") (= "=") (identifier "local_e8")) (; ";")) (expression_statement "(*local_13c)(&local_110,&local_100,local_118,local_e4);" (call_expression "(*local_13c)(&local_110,&local_100,local_118,local_e4)" (parenthesized_expression "(*local_13c)" (( "(") (pointer_expression "*local_13c" (* "*") (identifier "local_13c")) () ")")) (argument_list "(&local_110,&local_100,local_118,local_e4)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) (, ",") (identifier "local_118") (, ",") (identifier "local_e4") () ")"))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);" (assignment_expression "pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)((int)pppppppbVar6 + (int)pbVar34)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)pbVar34)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)pbVar34" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)pbVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar34"))) () ")")))) (; ";")) (expression_statement "pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);" (assignment_expression "pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34)" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)((int)local_128 - (int)pbVar34)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_128 - (int)pbVar34)" (( "(") (binary_expression "(int)local_128 - (int)pbVar34" (cast_expression "(int)local_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_128")) (- "-") (cast_expression "(int)pbVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar34"))) () ")")))) (; ";")) (expression_statement "(*local_120)(&local_110,&local_100);" (call_expression "(*local_120)(&local_110,&local_100)" (parenthesized_expression "(*local_120)" (( "(") (pointer_expression "*local_120" (* "*") (identifier "local_120")) () ")")) (argument_list "(&local_110,&local_100)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) () ")"))) (; ";")) (if_statement "if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))\n                    goto LAB_000b84cc;" (if "if") (parenthesized_expression "(((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))" (( "(") (binary_expression "((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0)" (parenthesized_expression "((int)pppppppbVar31 >= iVar5)" (( "(") (binary_expression "(int)pppppppbVar31 >= iVar5" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (>= ">=") (identifier "iVar5")) () ")")) (|| "||") (parenthesized_expression "(local_110 != (byte *******)0x0)" (( "(") (binary_expression "local_110 != (byte *******)0x0" (identifier "local_110") (!= "!=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (goto_statement "goto LAB_000b84cc;" (goto "goto") (statement_identifier "LAB_000b84cc") (; ";"))) (} "}"))) (expression_statement "local_114 = local_124;" (assignment_expression "local_114 = local_124" (identifier "local_114") (= "=") (identifier "local_124")) (; ";")) (expression_statement "local_124 = local_128;" (assignment_expression "local_124 = local_128" (identifier "local_124") (= "=") (identifier "local_128")) (; ";")) (expression_statement "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);" (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128)" (parenthesized_expression "(*local_134)" (( "(") (pointer_expression "*local_134" (* "*") (identifier "local_134")) () ")")) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128)" (( "(") (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar31)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")"))) (, ",") (identifier "local_128") () ")"))) (; ";")) (expression_statement "local_128 = (byte *******)(pbVar27 + (int)local_f4);" (assignment_expression "local_128 = (byte *******)(pbVar27 + (int)local_f4)" (identifier "local_128") (= "=") (cast_expression "(byte *******)(pbVar27 + (int)local_f4)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(pbVar27 + (int)local_f4)" (( "(") (binary_expression "pbVar27 + (int)local_f4" (identifier "pbVar27") (+ "+") (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4"))) () ")")))) (; ";")) (expression_statement "pppppppbVar17 = local_114;" (assignment_expression "pppppppbVar17 = local_114" (identifier "pppppppbVar17") (= "=") (identifier "local_114")) (; ";")) (if_statement "if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;" (if "if") (parenthesized_expression "((int)local_128 <= (int)local_12c)" (( "(") (binary_expression "(int)local_128 <= (int)local_12c" (cast_expression "(int)local_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_128")) (<= "<=") (cast_expression "(int)local_12c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_12c"))) () ")")) (goto_statement "goto LAB_000b8a74;" (goto "goto") (statement_identifier "LAB_000b8a74") (; ";"))) (labeled_statement "LAB_000b8afc:\n                  local_110 = (byte *******)0x10b;" (statement_identifier "LAB_000b8afc") (: ":") (expression_statement "local_110 = (byte *******)0x10b;" (assignment_expression "local_110 = (byte *******)0x10b" (identifier "local_110") (= "=") (cast_expression "(byte *******)0x10b" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x10b"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_000b84cc;" (goto "goto") (statement_identifier "LAB_000b84cc") (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "local_110 = (byte *******)0x10b;" (assignment_expression "local_110 = (byte *******)0x10b" (identifier "local_110") (= "=") (cast_expression "(byte *******)0x10b" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x10b"))) (; ";")) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" (identifier "pppppppbVar31") (= "=") (identifier "local_110")) (; ";")) (goto_statement "goto LAB_000b8260;" (goto "goto") (statement_identifier "LAB_000b8260") (; ";")) (} "}"))) (expression_statement "pppppppbVar18 = (byte *******)&DAT_00000007;" (assignment_expression "pppppppbVar18 = (byte *******)&DAT_00000007" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)&DAT_00000007" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (expression_statement "local_fc = (byte *******)0x0;" (assignment_expression "local_fc = (byte *******)0x0" (identifier "local_fc") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);" (assignment_expression "pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c)" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + 0xb5c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc4) + 0xb5c" (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "0xb5c")) () ")")))) (; ";")) (expression_statement "FUN_000ac7ac(&local_110,&local_100);" (call_expression "FUN_000ac7ac(&local_110,&local_100)" (identifier "FUN_000ac7ac") (argument_list "(&local_110,&local_100)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) () ")"))) (; ";")) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (identifier "pcVar26") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" (* "*") (cast_expression "(int *)(local_148 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d78)" (( "(") (binary_expression "local_148 + -0x7d78" (identifier "local_148") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "0x7c")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }" (else "else") (compound_statement "{\n        local_138 = (byte *******)&local_e8;\n        local_e8 = (byte *******)0x0;\n        local_108 = (byte *******)0x0;\n        local_e4 = (byte *******)0x0;\n        pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);\n        local_e0 = 0;\n        local_12c = pppppppbVar31;\n        pppppppbVar19 = pppppppbVar31;\n        if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }\n        local_10c = pppppppbVar19;\n        pppppppbVar19 = local_10c + -1;\n        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);\n        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);\n        pppppppbVar18 = local_10c;\n        if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        pcVar26 = (code *)(iVar5 + 0x7c);\n        (*pcVar26)(local_138);\n      }" ({ "{") (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" (identifier "local_138") (= "=") (cast_expression "(byte *******)&local_e8" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")))) (; ";")) (expression_statement "local_e8 = (byte *******)0x0;" (assignment_expression "local_e8 = (byte *******)0x0" (identifier "local_e8") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_108 = (byte *******)0x0;" (assignment_expression "local_108 = (byte *******)0x0" (identifier "local_108") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e4 = (byte *******)0x0;" (assignment_expression "local_e4 = (byte *******)0x0" (identifier "local_e4") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);" (assignment_expression "pppppppbVar31 =\n             (byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)\n             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff)" (( "(") (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +\n              (uint)*(byte *)((int)pppppppbVar6 + 3)" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100" (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pppppppbVar6 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + 2)" (( "(") (binary_expression "(int)pppppppbVar6 + 2" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (number_literal "2")) () ")")))) (* "*") (number_literal "0x100")) (+ "+") (binary_expression "(uint)*(byte *)((int)pppppppbVar6 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pppppppbVar6 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + 3)" (( "(") (binary_expression "(int)pppppppbVar6 + 3" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (number_literal "3")) () ")"))))) (& "&") (number_literal "0xffff")) () ")")))) (; ";")) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" (identifier "local_e0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_12c = pppppppbVar31;" (assignment_expression "local_12c = pppppppbVar31" (identifier "local_12c") (= "=") (identifier "pppppppbVar31")) (; ";")) (expression_statement "pppppppbVar19 = pppppppbVar31;" (assignment_expression "pppppppbVar19 = pppppppbVar31" (identifier "pppppppbVar19") (= "=") (identifier "pppppppbVar31")) (; ";")) (if_statement "if ((int)pppppppbVar31 < iVar5) {\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }" (if "if") (parenthesized_expression "((int)pppppppbVar31 < iVar5)" (( "(") (binary_expression "(int)pppppppbVar31 < iVar5" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);\n          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);\n          pppppppbVar19 = local_10c;\n        }" ({ "{") (expression_statement "iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);" (assignment_expression "iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))\n                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))" (( "(") (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" (* "*") (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" (* "*") (cast_expression "(int *)(local_148 + -0x7d7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d7c)" (( "(") (binary_expression "local_148 + -0x7d7c" (identifier "local_148") (+ "+") (number_literal "-0x7d7c")) () ")")))) (+ "+") (number_literal "0x610c")) () ")")))) () ")")) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c)" (( "(") (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar31)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar31)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar31" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")"))) (, ",") (pointer_expression "&local_10c" (& "&") (identifier "local_10c")) () ")")))) (; ";")) (expression_statement "local_12c = (byte *******)((int)pppppppbVar31 + iVar32);" (assignment_expression "local_12c = (byte *******)((int)pppppppbVar31 + iVar32)" (identifier "local_12c") (= "=") (cast_expression "(byte *******)((int)pppppppbVar31 + iVar32)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppbVar31 + iVar32)" (( "(") (binary_expression "(int)pppppppbVar31 + iVar32" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (+ "+") (identifier "iVar32")) () ")")))) (; ";")) (expression_statement "pppppppbVar19 = local_10c;" (assignment_expression "pppppppbVar19 = local_10c" (identifier "pppppppbVar19") (= "=") (identifier "local_10c")) (; ";")) (} "}"))) (expression_statement "local_10c = pppppppbVar19;" (assignment_expression "local_10c = pppppppbVar19" (identifier "local_10c") (= "=") (identifier "pppppppbVar19")) (; ";")) (expression_statement "pppppppbVar19 = local_10c + -1;" (assignment_expression "pppppppbVar19 = local_10c + -1" (identifier "pppppppbVar19") (= "=") (binary_expression "local_10c + -1" (identifier "local_10c") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);" (assignment_expression "local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34)" (identifier "local_124") (= "=") (cast_expression "(byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7c34)" (( "(") (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7c34" (pointer_expression "*(int *)(local_148 + -0x7cf4)" (* "*") (cast_expression "(int *)(local_148 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7cf4)" (( "(") (binary_expression "local_148 + -0x7cf4" (identifier "local_148") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "0x7c34")) () ")")))) (; ";")) (expression_statement "FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);" (call_expression "FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1)" (identifier "FUN_000b7c34") (argument_list "(&local_110,&local_100,pppppppbVar6 + 1)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) (, ",") (binary_expression "pppppppbVar6 + 1" (identifier "pppppppbVar6") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "pppppppbVar18 = local_10c;" (assignment_expression "pppppppbVar18 = local_10c" (identifier "pppppppbVar18") (= "=") (identifier "local_10c")) (; ";")) (if_statement "if ((int)local_10c < (int)pppppppbVar31) {\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }\n        else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" (if "if") (parenthesized_expression "((int)local_10c < (int)pppppppbVar31)" (( "(") (binary_expression "(int)local_10c < (int)pppppppbVar31" (cast_expression "(int)local_10c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_10c")) (< "<") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")")) (compound_statement "{\n          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);\n          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);\n          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);\n          do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" ({ "{") (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" (identifier "local_134") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x610c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x610c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" (* "*") (cast_expression "(int *)(local_148 + -0x7d7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d7c)" (( "(") (binary_expression "local_148 + -0x7d7c" (identifier "local_148") (+ "+") (number_literal "-0x7d7c")) () ")")))) (+ "+") (number_literal "0x610c")) () ")")))) (; ";")) (expression_statement "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);" (assignment_expression "local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" (identifier "local_120") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + -0x3854)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + -0x3854)" (( "(") (binary_expression "*(int *)(local_148 + -0x7cf4) + -0x3854" (pointer_expression "*(int *)(local_148 + -0x7cf4)" (* "*") (cast_expression "(int *)(local_148 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7cf4)" (( "(") (binary_expression "local_148 + -0x7cf4" (identifier "local_148") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "-0x3854")) () ")")))) (; ";")) (expression_statement "local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);" (assignment_expression "local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c)" (identifier "local_11c") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4c6c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4c6c" (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x4c6c")) () ")")))) (; ";")) (do_statement "do {\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          } while ((int)pppppppbVar18 < (int)pppppppbVar31);" (do "do") (compound_statement "{\n            local_128 = pppppppbVar18;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);\n            local_128 = (byte *******)((int)local_128 + iVar32);\n            local_e4 = local_108;\n            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );\n            local_158 = local_e8;\n            (*local_13c)(&local_110,&local_100,local_11c,local_e4);\n            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);\n            pppppppbVar11 = pppppppbVar31;\n            if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }\n            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);\n            local_10c = pppppppbVar11;\n            (*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));\n            pppppppbVar18 = local_10c;\n            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;\n            local_128 = local_10c;\n            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);\n            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);\n          }" ({ "{") (expression_statement "local_128 = pppppppbVar18;" (assignment_expression "local_128 = pppppppbVar18" (identifier "local_128") (= "=") (identifier "pppppppbVar18")) (; ";")) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104)" (identifier "iVar32") (= "=") (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104)" (parenthesized_expression "(*local_134)" (( "(") (pointer_expression "*local_134" (* "*") (identifier "local_134")) () ")")) (argument_list "((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104)" (( "(") (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar18)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar18" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)pppppppbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar18"))) () ")"))) (, ",") (pointer_expression "&local_104" (& "&") (identifier "local_104")) () ")")))) (; ";")) (expression_statement "local_128 = (byte *******)((int)local_128 + iVar32);" (assignment_expression "local_128 = (byte *******)((int)local_128 + iVar32)" (identifier "local_128") (= "=") (cast_expression "(byte *******)((int)local_128 + iVar32)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_128 + iVar32)" (( "(") (binary_expression "(int)local_128 + iVar32" (cast_expression "(int)local_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_128")) (+ "+") (identifier "iVar32")) () ")")))) (; ";")) (expression_statement "local_e4 = local_108;" (assignment_expression "local_e4 = local_108" (identifier "local_e4") (= "=") (identifier "local_108")) (; ";")) (expression_statement "(*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        );" (call_expression "(*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        )" (parenthesized_expression "(*local_120)" (( "(") (pointer_expression "*local_120" (* "*") (identifier "local_120")) () ")")) (argument_list "(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)\n                        )" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (identifier "local_138") (, ",") (identifier "local_104") (, ",") (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_128)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)local_128)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)local_128" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)local_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_128"))) () ")"))) () ")"))) (; ";")) (expression_statement "local_158 = local_e8;" (assignment_expression "local_158 = local_e8" (identifier "local_158") (= "=") (identifier "local_e8")) (; ";")) (expression_statement "(*local_13c)(&local_110,&local_100,local_11c,local_e4);" (call_expression "(*local_13c)(&local_110,&local_100,local_11c,local_e4)" (parenthesized_expression "(*local_13c)" (( "(") (pointer_expression "*local_13c" (* "*") (identifier "local_13c")) () ")")) (argument_list "(&local_110,&local_100,local_11c,local_e4)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) (, ",") (identifier "local_11c") (, ",") (identifier "local_e4") () ")"))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);" (assignment_expression "pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)((int)local_128 + (int)local_104)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_128 + (int)local_104)" (( "(") (binary_expression "(int)local_128 + (int)local_104" (cast_expression "(int)local_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_128")) (+ "+") (cast_expression "(int)local_104" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_104"))) () ")")))) (; ";")) (expression_statement "pppppppbVar11 = pppppppbVar31;" (assignment_expression "pppppppbVar11 = pppppppbVar31" (identifier "pppppppbVar11") (= "=") (identifier "pppppppbVar31")) (; ";")) (if_statement "if ((int)local_12c < iVar5) {\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }" (if "if") (parenthesized_expression "((int)local_12c < iVar5)" (( "(") (binary_expression "(int)local_12c < iVar5" (cast_expression "(int)local_12c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_12c")) (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n              local_128 = pppppppbVar18;\n              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);\n              local_12c = (byte *******)((int)local_12c + iVar32);\n              pppppppbVar18 = local_128;\n              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);\n            }" ({ "{") (expression_statement "local_128 = pppppppbVar18;" (assignment_expression "local_128 = pppppppbVar18" (identifier "local_128") (= "=") (identifier "pppppppbVar18")) (; ";")) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4)" (identifier "iVar32") (= "=") (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4)" (parenthesized_expression "(*local_134)" (( "(") (pointer_expression "*local_134" (* "*") (identifier "local_134")) () ")")) (argument_list "((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4)" (( "(") (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_12c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)local_12c)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)local_12c" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)local_12c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_12c"))) () ")"))) (, ",") (pointer_expression "&local_f4" (& "&") (identifier "local_f4")) () ")")))) (; ";")) (expression_statement "local_12c = (byte *******)((int)local_12c + iVar32);" (assignment_expression "local_12c = (byte *******)((int)local_12c + iVar32)" (identifier "local_12c") (= "=") (cast_expression "(byte *******)((int)local_12c + iVar32)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_12c + iVar32)" (( "(") (binary_expression "(int)local_12c + iVar32" (cast_expression "(int)local_12c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_12c")) (+ "+") (identifier "iVar32")) () ")")))) (; ";")) (expression_statement "pppppppbVar18 = local_128;" (assignment_expression "pppppppbVar18 = local_128" (identifier "pppppppbVar18") (= "=") (identifier "local_128")) (; ";")) (expression_statement "pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);" (assignment_expression "pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4)" (identifier "pppppppbVar11") (= "=") (cast_expression "(byte *******)((int)local_10c + (int)local_f4)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_10c + (int)local_f4)" (( "(") (binary_expression "(int)local_10c + (int)local_f4" (cast_expression "(int)local_10c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_10c")) (+ "+") (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4"))) () ")")))) (; ";")) (} "}"))) (expression_statement "pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);" (assignment_expression "pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18)" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)((int)pppppppbVar11 - (int)pppppppbVar18)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppbVar11 - (int)pppppppbVar18)" (( "(") (binary_expression "(int)pppppppbVar11 - (int)pppppppbVar18" (cast_expression "(int)pppppppbVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar11")) (- "-") (cast_expression "(int)pppppppbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar18"))) () ")")))) (; ";")) (expression_statement "local_10c = pppppppbVar11;" (assignment_expression "local_10c = pppppppbVar11" (identifier "local_10c") (= "=") (identifier "pppppppbVar11")) (; ";")) (expression_statement "(*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));" (call_expression "(*(code *)local_124)\n                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18))" (parenthesized_expression "(*(code *)local_124)" (( "(") (pointer_expression "*(code *)local_124" (* "*") (cast_expression "(code *)local_124" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_124"))) () ")")) (argument_list "(&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18))" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) (, ",") (cast_expression "(byte *)((int)pppppppbVar6 + (int)pppppppbVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)pppppppbVar18)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)pppppppbVar18" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)pppppppbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar18"))) () ")"))) () ")"))) (; ";")) (expression_statement "pppppppbVar18 = local_10c;" (assignment_expression "pppppppbVar18 = local_10c" (identifier "pppppppbVar18") (= "=") (identifier "local_10c")) (; ";")) (if_statement "if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;" (if "if") (parenthesized_expression "((int)pppppppbVar31 <= (int)local_10c)" (( "(") (binary_expression "(int)pppppppbVar31 <= (int)local_10c" (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31")) (<= "<=") (cast_expression "(int)local_10c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_10c"))) () ")")) (goto_statement "goto LAB_000b84cc;" (goto "goto") (statement_identifier "LAB_000b84cc") (; ";"))) (expression_statement "local_128 = local_10c;" (assignment_expression "local_128 = local_10c" (identifier "local_128") (= "=") (identifier "local_10c")) (; ";")) (expression_statement "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);" (assignment_expression "iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108)" (identifier "iVar32") (= "=") (call_expression "(*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108)" (parenthesized_expression "(*local_134)" (( "(") (pointer_expression "*local_134" (* "*") (identifier "local_134")) () ")")) (argument_list "((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108)" (( "(") (cast_expression "(byte *)((int)pppppppbVar6 + (int)local_10c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + (int)local_10c)" (( "(") (binary_expression "(int)pppppppbVar6 + (int)local_10c" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (cast_expression "(int)local_10c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_10c"))) () ")"))) (, ",") (pointer_expression "&local_108" (& "&") (identifier "local_108")) () ")")))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)((int)local_128 + iVar32);" (assignment_expression "pppppppbVar18 = (byte *******)((int)local_128 + iVar32)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)((int)local_128 + iVar32)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_128 + iVar32)" (( "(") (binary_expression "(int)local_128 + iVar32" (cast_expression "(int)local_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_128")) (+ "+") (identifier "iVar32")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pppppppbVar18 < (int)pppppppbVar31)" (( "(") (binary_expression "(int)pppppppbVar18 < (int)pppppppbVar31" (cast_expression "(int)pppppppbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar18")) (< "<") (cast_expression "(int)pppppppbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar31"))) () ")")) (; ";")) (expression_statement "iVar5 = *(int *)(local_148 + -0x7d78);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7d78)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(local_148 + -0x7d78)" (* "*") (cast_expression "(int *)(local_148 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d78)" (( "(") (binary_expression "local_148 + -0x7d78" (identifier "local_148") (+ "+") (number_literal "-0x7d78")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" (else "else") (compound_statement "{\nLAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);\n        }" ({ "{") (labeled_statement "LAB_000b84cc:\n          iVar5 = *(int *)(local_148 + -0x7d78);" (statement_identifier "LAB_000b84cc") (: ":") (expression_statement "iVar5 = *(int *)(local_148 + -0x7d78);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7d78)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(local_148 + -0x7d78)" (* "*") (cast_expression "(int *)(local_148 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d78)" (( "(") (binary_expression "local_148 + -0x7d78" (identifier "local_148") (+ "+") (number_literal "-0x7d78")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "pcVar26 = (code *)(iVar5 + 0x7c);" (assignment_expression "pcVar26 = (code *)(iVar5 + 0x7c)" (identifier "pcVar26") (= "=") (cast_expression "(code *)(iVar5 + 0x7c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x7c)" (( "(") (binary_expression "iVar5 + 0x7c" (identifier "iVar5") (+ "+") (number_literal "0x7c")) () ")")))) (; ";")) (expression_statement "(*pcVar26)(local_138);" (call_expression "(*pcVar26)(local_138)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(local_138)" (( "(") (identifier "local_138") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_000b82e8;" (goto "goto") (statement_identifier "LAB_000b82e8") (; ";")) (} "}"))) (if_statement "if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))\n    {\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }\n    else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }" (if "if") (parenthesized_expression "((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))" (( "(") (binary_expression "(uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1)" (parenthesized_expression "(uVar4 == 0)" (( "(") (binary_expression "uVar4 == 0" (identifier "uVar4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1)" (( "(") (comma_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (identifier "local_13c") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (( "(") (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" (* "*") (cast_expression "(int *)(local_148 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7cf4)" (( "(") (binary_expression "local_148 + -0x7cf4" (identifier "local_148") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "0x7b38")) () ")")))) (, ",") (binary_expression "uVar14 == 1" (identifier "uVar14") (== "==") (number_literal "1"))) () ")"))) () ")")) (compound_statement "{\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n    }" ({ "{") (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4cc4)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4cc4" (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x4cc4")) () ")")))) (; ";")) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" (identifier "FUN_000b7b38") (argument_list "(&local_110,&local_100)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) () ")"))) (; ";")) (if_statement "if (iVar33 < 0) {\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }\n      else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" (if "if") (parenthesized_expression "(iVar33 < 0)" (( "(") (binary_expression "iVar33 < 0" (identifier "iVar33") (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);\n        local_e8 = (byte *******)&local_f4;\n        local_e4 = (byte *******)0x0;\n        local_e0 = 0;\n        local_dc = 0;\n        local_d4 = 0;\n        local_d0 = (byte *******)0x0;\n        local_cc = (byte ******)0x0;\n        local_d8 = local_138;\n        local_138 = (byte *******)&local_e8;\n        local_f4 = pppppppbVar6;\n        local_f0 = iVar5;\n        (*(code *)(iVar32 + 0x687c))();\n        pppppppbVar31 = local_110;\n        if (local_e0 != 0) goto LAB_000b8260;\n        iVar5 = *(int *)(local_148 + -0x7fc4);\n        do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" ({ "{") (labeled_statement "LAB_000b8528:\n        iVar32 = *(int *)(local_148 + -0x7d7c);" (statement_identifier "LAB_000b8528") (: ":") (expression_statement "iVar32 = *(int *)(local_148 + -0x7d7c);" (assignment_expression "iVar32 = *(int *)(local_148 + -0x7d7c)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(local_148 + -0x7d7c)" (* "*") (cast_expression "(int *)(local_148 + -0x7d7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d7c)" (( "(") (binary_expression "local_148 + -0x7d7c" (identifier "local_148") (+ "+") (number_literal "-0x7d7c")) () ")"))))) (; ";"))) (expression_statement "local_e8 = (byte *******)&local_f4;" (assignment_expression "local_e8 = (byte *******)&local_f4" (identifier "local_e8") (= "=") (cast_expression "(byte *******)&local_f4" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_f4" (& "&") (identifier "local_f4")))) (; ";")) (expression_statement "local_e4 = (byte *******)0x0;" (assignment_expression "local_e4 = (byte *******)0x0" (identifier "local_e4") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" (identifier "local_e0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" (identifier "local_dc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" (identifier "local_d4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0 = (byte *******)0x0;" (assignment_expression "local_d0 = (byte *******)0x0" (identifier "local_d0") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_cc = (byte ******)0x0;" (assignment_expression "local_cc = (byte ******)0x0" (identifier "local_cc") (= "=") (cast_expression "(byte ******)0x0" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_d8 = local_138;" (assignment_expression "local_d8 = local_138" (identifier "local_d8") (= "=") (identifier "local_138")) (; ";")) (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" (identifier "local_138") (= "=") (cast_expression "(byte *******)&local_e8" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")))) (; ";")) (expression_statement "local_f4 = pppppppbVar6;" (assignment_expression "local_f4 = pppppppbVar6" (identifier "local_f4") (= "=") (identifier "pppppppbVar6")) (; ";")) (expression_statement "local_f0 = iVar5;" (assignment_expression "local_f0 = iVar5" (identifier "local_f0") (= "=") (identifier "iVar5")) (; ";")) (expression_statement "(*(code *)(iVar32 + 0x687c))();" (call_expression "(*(code *)(iVar32 + 0x687c))()" (parenthesized_expression "(*(code *)(iVar32 + 0x687c))" (( "(") (pointer_expression "*(code *)(iVar32 + 0x687c)" (* "*") (cast_expression "(code *)(iVar32 + 0x687c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x687c)" (( "(") (binary_expression "iVar32 + 0x687c" (identifier "iVar32") (+ "+") (number_literal "0x687c")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" (identifier "pppppppbVar31") (= "=") (identifier "local_110")) (; ";")) (if_statement "if (local_e0 != 0) goto LAB_000b8260;" (if "if") (parenthesized_expression "(local_e0 != 0)" (( "(") (binary_expression "local_e0 != 0" (identifier "local_e0") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b8260;" (goto "goto") (statement_identifier "LAB_000b8260") (; ";"))) (expression_statement "iVar5 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7fc4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")"))))) (; ";")) (do_statement "do {\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        } while (local_e0 == 0);" (do "do") (compound_statement "{\n          local_154 = local_cc;\n          local_158 = local_d0;\n          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);\n          pppppppbVar19 = local_d8;\n          (*local_13c)(&local_110,&local_100);\n          (*(code *)(iVar32 + 0x687c))(local_138);\n        }" ({ "{") (expression_statement "local_154 = local_cc;" (assignment_expression "local_154 = local_cc" (identifier "local_154") (= "=") (identifier "local_cc")) (; ";")) (expression_statement "local_158 = local_d0;" (assignment_expression "local_158 = local_d0" (identifier "local_158") (= "=") (identifier "local_d0")) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);" (assignment_expression "pppppppbVar18 = (byte *******)(iVar5 + -0x4cac)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)(iVar5 + -0x4cac)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + -0x4cac)" (( "(") (binary_expression "iVar5 + -0x4cac" (identifier "iVar5") (+ "+") (number_literal "-0x4cac")) () ")")))) (; ";")) (expression_statement "pppppppbVar19 = local_d8;" (assignment_expression "pppppppbVar19 = local_d8" (identifier "pppppppbVar19") (= "=") (identifier "local_d8")) (; ";")) (expression_statement "(*local_13c)(&local_110,&local_100);" (call_expression "(*local_13c)(&local_110,&local_100)" (parenthesized_expression "(*local_13c)" (( "(") (pointer_expression "*local_13c" (* "*") (identifier "local_13c")) () ")")) (argument_list "(&local_110,&local_100)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) () ")"))) (; ";")) (expression_statement "(*(code *)(iVar32 + 0x687c))(local_138);" (call_expression "(*(code *)(iVar32 + 0x687c))(local_138)" (parenthesized_expression "(*(code *)(iVar32 + 0x687c))" (( "(") (pointer_expression "*(code *)(iVar32 + 0x687c)" (* "*") (cast_expression "(code *)(iVar32 + 0x687c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x687c)" (( "(") (binary_expression "iVar32 + 0x687c" (identifier "iVar32") (+ "+") (number_literal "0x687c")) () ")")))) () ")")) (argument_list "(local_138)" (( "(") (identifier "local_138") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_e0 == 0)" (( "(") (binary_expression "local_e0 == 0" (identifier "local_e0") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (identifier "pcVar26") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" (* "*") (cast_expression "(int *)(local_148 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d78)" (( "(") (binary_expression "local_148 + -0x7d78" (identifier "local_148") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "0x7c")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" (else "else") (compound_statement "{\n        pppppppbVar31 = local_110;\n        if (iVar5 < 1) goto LAB_000b8260;\n        iVar33 = *(int *)(local_148 + -0x7de0);\n        iVar7 = *(int *)(local_148 + -0x7fc8);\n        iVar8 = *(int *)(local_148 + -0x7fc4);\n        iVar32 = 0;\n        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);\n        local_138 = (byte *******)&local_e8;\n        do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);\n        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n      }" ({ "{") (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" (identifier "pppppppbVar31") (= "=") (identifier "local_110")) (; ";")) (if_statement "if (iVar5 < 1) goto LAB_000b8260;" (if "if") (parenthesized_expression "(iVar5 < 1)" (( "(") (binary_expression "iVar5 < 1" (identifier "iVar5") (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_000b8260;" (goto "goto") (statement_identifier "LAB_000b8260") (; ";"))) (expression_statement "iVar33 = *(int *)(local_148 + -0x7de0);" (assignment_expression "iVar33 = *(int *)(local_148 + -0x7de0)" (identifier "iVar33") (= "=") (pointer_expression "*(int *)(local_148 + -0x7de0)" (* "*") (cast_expression "(int *)(local_148 + -0x7de0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7de0)" (( "(") (binary_expression "local_148 + -0x7de0" (identifier "local_148") (+ "+") (number_literal "-0x7de0")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(local_148 + -0x7fc8);" (assignment_expression "iVar7 = *(int *)(local_148 + -0x7fc8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(local_148 + -0x7fc8)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc8)" (( "(") (binary_expression "local_148 + -0x7fc8" (identifier "local_148") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar8 = *(int *)(local_148 + -0x7fc4)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")"))))) (; ";")) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);" (assignment_expression "pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc8) + 0x30a8)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc8) + 0x30a8" (pointer_expression "*(int *)(local_148 + -0x7fc8)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc8)" (( "(") (binary_expression "local_148 + -0x7fc8" (identifier "local_148") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x30a8")) () ")")))) (; ";")) (expression_statement "local_138 = (byte *******)&local_e8;" (assignment_expression "local_138 = (byte *******)&local_e8" (identifier "local_138") (= "=") (cast_expression "(byte *******)&local_e8" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")))) (; ";")) (do_statement "do {\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        } while (iVar32 < iVar5);" (do "do") (compound_statement "{\n          pppppppbVar19 = pppppppbVar31;\n          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);\n          iVar32 = iVar32 + iVar9;\n          local_158 = local_e4;\n          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);\n          (*local_13c)(&local_110,&local_100);\n          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);\n        }" ({ "{") (expression_statement "pppppppbVar19 = pppppppbVar31;" (assignment_expression "pppppppbVar19 = pppppppbVar31" (identifier "pppppppbVar19") (= "=") (identifier "pppppppbVar31")) (; ";")) (expression_statement "iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);" (assignment_expression "iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138)" (identifier "iVar9") (= "=") (call_expression "(*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138)" (parenthesized_expression "(*(code *)(iVar33 + -0x80))" (( "(") (pointer_expression "*(code *)(iVar33 + -0x80)" (* "*") (cast_expression "(code *)(iVar33 + -0x80)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar33 + -0x80)" (( "(") (binary_expression "iVar33 + -0x80" (identifier "iVar33") (+ "+") (number_literal "-0x80")) () ")")))) () ")")) (argument_list "((byte *)((int)pppppppbVar6 + iVar32),local_138)" (( "(") (cast_expression "(byte *)((int)pppppppbVar6 + iVar32)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar6 + iVar32)" (( "(") (binary_expression "(int)pppppppbVar6 + iVar32" (cast_expression "(int)pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar6")) (+ "+") (identifier "iVar32")) () ")"))) (, ",") (identifier "local_138") () ")")))) (; ";")) (expression_statement "iVar32 = iVar32 + iVar9;" (assignment_expression "iVar32 = iVar32 + iVar9" (identifier "iVar32") (= "=") (binary_expression "iVar32 + iVar9" (identifier "iVar32") (+ "+") (identifier "iVar9"))) (; ";")) (expression_statement "local_158 = local_e4;" (assignment_expression "local_158 = local_e4" (identifier "local_158") (= "=") (identifier "local_e4")) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);" (assignment_expression "pppppppbVar18 = (byte *******)(iVar7 + 0x2db4)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)(iVar7 + 0x2db4)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar7 + 0x2db4)" (( "(") (binary_expression "iVar7 + 0x2db4" (identifier "iVar7") (+ "+") (number_literal "0x2db4")) () ")")))) (; ";")) (expression_statement "(*local_13c)(&local_110,&local_100);" (call_expression "(*local_13c)(&local_110,&local_100)" (parenthesized_expression "(*local_13c)" (( "(") (pointer_expression "*local_13c" (* "*") (identifier "local_13c")) () ")")) (argument_list "(&local_110,&local_100)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) () ")"))) (; ";")) (expression_statement "pppppppbVar31 = (byte *******)(iVar8 + -0x4854);" (assignment_expression "pppppppbVar31 = (byte *******)(iVar8 + -0x4854)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)(iVar8 + -0x4854)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar8 + -0x4854)" (( "(") (binary_expression "iVar8 + -0x4854" (identifier "iVar8") (+ "+") (number_literal "-0x4854")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar32 < iVar5)" (( "(") (binary_expression "iVar32 < iVar5" (identifier "iVar32") (< "<") (identifier "iVar5")) () ")")) (; ";")) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (identifier "pcVar26") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" (* "*") (cast_expression "(int *)(local_148 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d78)" (( "(") (binary_expression "local_148 + -0x7d78" (identifier "local_148") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "0x7c")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }" (else "else") (compound_statement "{\n      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);\n      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);\n      FUN_000b7b38(&local_110,&local_100);\n      if (iVar33 < 0) goto LAB_000b8528;\n      pppppppbVar19 = (byte *******)&local_e8;\n      pppppppbVar18 = (byte *******)0x0;\n      local_e8 = (byte *******)0x0;\n      pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);\n      if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }\nLAB_000b8260:\n      local_110 = pppppppbVar31;\n      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n    }" ({ "{") (expression_statement "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);" (assignment_expression "local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (identifier "local_13c") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7cf4) + 0x7b38)" (( "(") (binary_expression "*(int *)(local_148 + -0x7cf4) + 0x7b38" (pointer_expression "*(int *)(local_148 + -0x7cf4)" (* "*") (cast_expression "(int *)(local_148 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7cf4)" (( "(") (binary_expression "local_148 + -0x7cf4" (identifier "local_148") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "0x7b38")) () ")")))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);" (assignment_expression "pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8)" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4cb8)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4cb8" (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x4cb8")) () ")")))) (; ";")) (expression_statement "FUN_000b7b38(&local_110,&local_100);" (call_expression "FUN_000b7b38(&local_110,&local_100)" (identifier "FUN_000b7b38") (argument_list "(&local_110,&local_100)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) () ")"))) (; ";")) (if_statement "if (iVar33 < 0) goto LAB_000b8528;" (if "if") (parenthesized_expression "(iVar33 < 0)" (( "(") (binary_expression "iVar33 < 0" (identifier "iVar33") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b8528;" (goto "goto") (statement_identifier "LAB_000b8528") (; ";"))) (expression_statement "pppppppbVar19 = (byte *******)&local_e8;" (assignment_expression "pppppppbVar19 = (byte *******)&local_e8" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)&local_e8" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")))) (; ";")) (expression_statement "pppppppbVar18 = (byte *******)0x0;" (assignment_expression "pppppppbVar18 = (byte *******)0x0" (identifier "pppppppbVar18") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e8 = (byte *******)0x0;" (assignment_expression "local_e8 = (byte *******)0x0" (identifier "local_e8") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);" (assignment_expression "pppppppbVar31 =\n           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5)" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))" (( "(") (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac)" (* "*") (cast_expression "(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d68) + 0x52ac)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d68) + 0x52ac" (pointer_expression "*(int *)(local_148 + -0x7d68)" (* "*") (cast_expression "(int *)(local_148 + -0x7d68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d68)" (( "(") (binary_expression "local_148 + -0x7d68" (identifier "local_148") (+ "+") (number_literal "-0x7d68")) () ")")))) (+ "+") (number_literal "0x52ac")) () ")")))) () ")")) (argument_list "(pppppppbVar6,iVar5)" (( "(") (identifier "pppppppbVar6") (, ",") (identifier "iVar5") () ")"))))) (; ";")) (if_statement "if (pppppppbVar31 == (byte *******)0x0) {\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }" (if "if") (parenthesized_expression "(pppppppbVar31 == (byte *******)0x0)" (( "(") (binary_expression "pppppppbVar31 == (byte *******)0x0" (identifier "pppppppbVar31") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_138 = local_e8;\n        if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }\n        ppppppbVar22 = *local_e8;\n        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);\n        local_138 = local_e8;\n        pppppppbVar31 = local_110;\n        if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }\n      }" ({ "{") (expression_statement "local_138 = local_e8;" (assignment_expression "local_138 = local_e8" (identifier "local_138") (= "=") (identifier "local_e8")) (; ";")) (if_statement "if (0 < (int)local_e8[5]) {\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }" (if "if") (parenthesized_expression "(0 < (int)local_e8[5])" (( "(") (binary_expression "0 < (int)local_e8[5]" (number_literal "0") (< "<") (cast_expression "(int)local_e8[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_e8[5]" (identifier "local_e8") ([ "[") (number_literal "5") (] "]")))) () ")")) (compound_statement "{\n          pppppppbVar31 = local_e8 + 6;\n          iVar5 = *(int *)(local_148 + -0x7fc4);\n          pppppppbVar11 = (byte *******)0x0;\n          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);\n          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);\n          do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);\n          local_138 = local_e8;\n          pppppppbVar31 = local_110;\n          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;\n        }" ({ "{") (expression_statement "pppppppbVar31 = local_e8 + 6;" (assignment_expression "pppppppbVar31 = local_e8 + 6" (identifier "pppppppbVar31") (= "=") (binary_expression "local_e8 + 6" (identifier "local_e8") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "iVar5 = *(int *)(local_148 + -0x7fc4);" (assignment_expression "iVar5 = *(int *)(local_148 + -0x7fc4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")"))))) (; ";")) (expression_statement "pppppppbVar11 = (byte *******)0x0;" (assignment_expression "pppppppbVar11 = (byte *******)0x0" (identifier "pppppppbVar11") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);" (assignment_expression "local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0)" (identifier "local_134") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc4) + -0x4ca0)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc4) + -0x4ca0" (pointer_expression "*(int *)(local_148 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc4)" (( "(") (binary_expression "local_148 + -0x7fc4" (identifier "local_148") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x4ca0")) () ")")))) (; ";")) (expression_statement "local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);" (assignment_expression "local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300)" (identifier "local_12c") (= "=") (cast_expression "(byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7fc8) + 0x1300)" (( "(") (binary_expression "*(int *)(local_148 + -0x7fc8) + 0x1300" (pointer_expression "*(int *)(local_148 + -0x7fc8)" (* "*") (cast_expression "(int *)(local_148 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7fc8)" (( "(") (binary_expression "local_148 + -0x7fc8" (identifier "local_148") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x1300")) () ")")))) (; ";")) (do_statement "do {\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          } while ((int)pppppppbVar11 < (int)local_138[5]);" (do "do") (compound_statement "{\n            local_154 = pppppppbVar31[1];\n            local_158 = (byte *******)*pppppppbVar31;\n            pppppppbVar19 = pppppppbVar11;\n            (*local_13c)(&local_110,&local_100,local_134);\n            if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }\n            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);\n            pppppppbVar31 = pppppppbVar31 + 3;\n            pppppppbVar18 = local_12c;\n            (*local_13c)(&local_110,&local_100);\n          }" ({ "{") (expression_statement "local_154 = pppppppbVar31[1];" (assignment_expression "local_154 = pppppppbVar31[1]" (identifier "local_154") (= "=") (subscript_expression "pppppppbVar31[1]" (identifier "pppppppbVar31") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_158 = (byte *******)*pppppppbVar31;" (assignment_expression "local_158 = (byte *******)*pppppppbVar31" (identifier "local_158") (= "=") (cast_expression "(byte *******)*pppppppbVar31" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*pppppppbVar31" (* "*") (identifier "pppppppbVar31")))) (; ";")) (expression_statement "pppppppbVar19 = pppppppbVar11;" (assignment_expression "pppppppbVar19 = pppppppbVar11" (identifier "pppppppbVar19") (= "=") (identifier "pppppppbVar11")) (; ";")) (expression_statement "(*local_13c)(&local_110,&local_100,local_134);" (call_expression "(*local_13c)(&local_110,&local_100,local_134)" (parenthesized_expression "(*local_13c)" (( "(") (pointer_expression "*local_13c" (* "*") (identifier "local_13c")) () ")")) (argument_list "(&local_110,&local_100,local_134)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) (, ",") (identifier "local_134") () ")"))) (; ";")) (if_statement "if (0 < (int)pppppppbVar31[1]) {\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }" (if "if") (parenthesized_expression "(0 < (int)pppppppbVar31[1])" (( "(") (binary_expression "0 < (int)pppppppbVar31[1]" (number_literal "0") (< "<") (cast_expression "(int)pppppppbVar31[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppbVar31[1]" (identifier "pppppppbVar31") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n              iVar32 = 0;\n              iVar33 = 0;\n              do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);\n            }" ({ "{") (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" (identifier "iVar33") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              } while (iVar32 < (int)pppppppbVar31[1]);" (do "do") (compound_statement "{\n                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);\n                iVar32 = iVar32 + 1;\n                iVar33 = iVar33 + 0xc;\n                local_154 = (byte ******)puVar10[2];\n                pppppppbVar19 = (byte *******)*puVar10;\n                local_158 = (byte *******)puVar10[1];\n                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);\n              }" ({ "{") (expression_statement "puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);" (assignment_expression "puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33)" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)((int)pppppppbVar31[2] + iVar33)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppbVar31[2] + iVar33)" (( "(") (binary_expression "(int)pppppppbVar31[2] + iVar33" (cast_expression "(int)pppppppbVar31[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppbVar31[2]" (identifier "pppppppbVar31") ([ "[") (number_literal "2") (] "]"))) (+ "+") (identifier "iVar33")) () ")")))) (; ";")) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + 1" (identifier "iVar32") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar33 = iVar33 + 0xc;" (assignment_expression "iVar33 = iVar33 + 0xc" (identifier "iVar33") (= "=") (binary_expression "iVar33 + 0xc" (identifier "iVar33") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "local_154 = (byte ******)puVar10[2];" (assignment_expression "local_154 = (byte ******)puVar10[2]" (identifier "local_154") (= "=") (cast_expression "(byte ******)puVar10[2]" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pppppppbVar19 = (byte *******)*puVar10;" (assignment_expression "pppppppbVar19 = (byte *******)*puVar10" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)*puVar10" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (expression_statement "local_158 = (byte *******)puVar10[1];" (assignment_expression "local_158 = (byte *******)puVar10[1]" (identifier "local_158") (= "=") (cast_expression "(byte *******)puVar10[1]" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "(*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);" (call_expression "(*local_13c)(&local_110,&local_100,iVar5 + -0x4c84)" (parenthesized_expression "(*local_13c)" (( "(") (pointer_expression "*local_13c" (* "*") (identifier "local_13c")) () ")")) (argument_list "(&local_110,&local_100,iVar5 + -0x4c84)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) (, ",") (binary_expression "iVar5 + -0x4c84" (identifier "iVar5") (+ "+") (number_literal "-0x4c84")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar32 < (int)pppppppbVar31[1])" (( "(") (binary_expression "iVar32 < (int)pppppppbVar31[1]" (identifier "iVar32") (< "<") (cast_expression "(int)pppppppbVar31[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppbVar31[1]" (identifier "pppppppbVar31") ([ "[") (number_literal "1") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);" (assignment_expression "pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1)" (identifier "pppppppbVar11") (= "=") (cast_expression "(byte *******)((int)pppppppbVar11 + 1)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppbVar11 + 1)" (( "(") (binary_expression "(int)pppppppbVar11 + 1" (cast_expression "(int)pppppppbVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar11")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppppbVar31 = pppppppbVar31 + 3;" (assignment_expression "pppppppbVar31 = pppppppbVar31 + 3" (identifier "pppppppbVar31") (= "=") (binary_expression "pppppppbVar31 + 3" (identifier "pppppppbVar31") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pppppppbVar18 = local_12c;" (assignment_expression "pppppppbVar18 = local_12c" (identifier "pppppppbVar18") (= "=") (identifier "local_12c")) (; ";")) (expression_statement "(*local_13c)(&local_110,&local_100);" (call_expression "(*local_13c)(&local_110,&local_100)" (parenthesized_expression "(*local_13c)" (( "(") (pointer_expression "*local_13c" (* "*") (identifier "local_13c")) () ")")) (argument_list "(&local_110,&local_100)" (( "(") (pointer_expression "&local_110" (& "&") (identifier "local_110")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pppppppbVar11 < (int)local_138[5])" (( "(") (binary_expression "(int)pppppppbVar11 < (int)local_138[5]" (cast_expression "(int)pppppppbVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppbVar11")) (< "<") (cast_expression "(int)local_138[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_138[5]" (identifier "local_138") ([ "[") (number_literal "5") (] "]")))) () ")")) (; ";")) (expression_statement "local_138 = local_e8;" (assignment_expression "local_138 = local_e8" (identifier "local_138") (= "=") (identifier "local_e8")) (; ";")) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" (identifier "pppppppbVar31") (= "=") (identifier "local_110")) (; ";")) (if_statement "if (local_e8 == (byte *******)0x0) goto LAB_000b8260;" (if "if") (parenthesized_expression "(local_e8 == (byte *******)0x0)" (( "(") (binary_expression "local_e8 == (byte *******)0x0" (identifier "local_e8") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b8260;" (goto "goto") (statement_identifier "LAB_000b8260") (; ";"))) (} "}"))) (expression_statement "ppppppbVar22 = *local_e8;" (assignment_expression "ppppppbVar22 = *local_e8" (identifier "ppppppbVar22") (= "=") (pointer_expression "*local_e8" (* "*") (identifier "local_e8"))) (; ";")) (expression_statement "*local_e8 = (byte ******)((int)ppppppbVar22 + -1);" (assignment_expression "*local_e8 = (byte ******)((int)ppppppbVar22 + -1)" (pointer_expression "*local_e8" (* "*") (identifier "local_e8")) (= "=") (cast_expression "(byte ******)((int)ppppppbVar22 + -1)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppbVar22 + -1)" (( "(") (binary_expression "(int)ppppppbVar22 + -1" (cast_expression "(int)ppppppbVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar22")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "local_138 = local_e8;" (assignment_expression "local_138 = local_e8" (identifier "local_138") (= "=") (identifier "local_e8")) (; ";")) (expression_statement "pppppppbVar31 = local_110;" (assignment_expression "pppppppbVar31 = local_110" (identifier "pppppppbVar31") (= "=") (identifier "local_110")) (; ";")) (if_statement "if ((int)ppppppbVar22 + -1 < 1) {\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }" (if "if") (parenthesized_expression "((int)ppppppbVar22 + -1 < 1)" (( "(") (binary_expression "(int)ppppppbVar22 + -1 < 1" (binary_expression "(int)ppppppbVar22 + -1" (cast_expression "(int)ppppppbVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar22")) (+ "+") (number_literal "-1")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);\n          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\n          goto LAB_000b82e8;\n        }" ({ "{") (expression_statement "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);" (call_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))" (( "(") (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c)" (* "*") (cast_expression "(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d7c) + 0x380c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d7c) + 0x380c" (pointer_expression "*(int *)(local_148 + -0x7d7c)" (* "*") (cast_expression "(int *)(local_148 + -0x7d7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d7c)" (( "(") (binary_expression "local_148 + -0x7d7c" (identifier "local_148") (+ "+") (number_literal "-0x7d7c")) () ")")))) (+ "+") (number_literal "0x380c")) () ")")))) () ")")) (argument_list "(local_e8)" (( "(") (identifier "local_e8") () ")"))) (; ";")) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (identifier "pcVar26") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" (* "*") (cast_expression "(int *)(local_148 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d78)" (( "(") (binary_expression "local_148 + -0x7d78" (identifier "local_148") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "0x7c")) () ")")))) (; ";")) (goto_statement "goto LAB_000b82e8;" (goto "goto") (statement_identifier "LAB_000b82e8") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000b8260:\n      local_110 = pppppppbVar31;" (statement_identifier "LAB_000b8260") (: ":") (expression_statement "local_110 = pppppppbVar31;" (assignment_expression "local_110 = pppppppbVar31" (identifier "local_110") (= "=") (identifier "pppppppbVar31")) (; ";"))) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (identifier "pcVar26") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" (* "*") (cast_expression "(int *)(local_148 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d78)" (( "(") (binary_expression "local_148 + -0x7d78" (identifier "local_148") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "0x7c")) () ")")))) (; ";")) (} "}")))) (expression_statement "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6);" (call_expression "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6)" (parenthesized_expression "(**(code **)(local_148 + -0x7fb4))" (( "(") (pointer_expression "**(code **)(local_148 + -0x7fb4)" (* "*") (pointer_expression "*(code **)(local_148 + -0x7fb4)" (* "*") (cast_expression "(code **)(local_148 + -0x7fb4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_148 + -0x7fb4)" (( "(") (binary_expression "local_148 + -0x7fb4" (identifier "local_148") (+ "+") (number_literal "-0x7fb4")) () ")"))))) () ")")) (argument_list "(pppppppbVar6)" (( "(") (identifier "pppppppbVar6") () ")"))) (; ";")) (if_statement "if (local_110 == (byte *******)0x0) goto LAB_000b8300;" (if "if") (parenthesized_expression "(local_110 == (byte *******)0x0)" (( "(") (binary_expression "local_110 == (byte *******)0x0" (identifier "local_110") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b8300;" (goto "goto") (statement_identifier "LAB_000b8300") (; ";"))) (labeled_statement "LAB_000b8280:\n    pppppppbVar6 = local_110;" (statement_identifier "LAB_000b8280") (: ":") (expression_statement "pppppppbVar6 = local_110;" (assignment_expression "pppppppbVar6 = local_110" (identifier "pppppppbVar6") (= "=") (identifier "local_110")) (; ";"))) (expression_statement "(**(code **)(local_148 + -0x7f4c))(iVar12);" (call_expression "(**(code **)(local_148 + -0x7f4c))(iVar12)" (parenthesized_expression "(**(code **)(local_148 + -0x7f4c))" (( "(") (pointer_expression "**(code **)(local_148 + -0x7f4c)" (* "*") (pointer_expression "*(code **)(local_148 + -0x7f4c)" (* "*") (cast_expression "(code **)(local_148 + -0x7f4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_148 + -0x7f4c)" (( "(") (binary_expression "local_148 + -0x7f4c" (identifier "local_148") (+ "+") (number_literal "-0x7f4c")) () ")"))))) () ")")) (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")"))) (; ";")) (} "}")) (else_clause "else {\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }" (else "else") (compound_statement "{\nLAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;\n    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);\nLAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);\n    if (local_110 != (byte *******)0x0) goto LAB_000b8280;\nLAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);\n    local_154 = (byte ******)0xffffffff;\n    local_158 = (byte *******)0x1;\n    pppppppbVar18 = local_100;\n    pppppppbVar19 = local_fc;\n    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);\n  }" ({ "{") (labeled_statement "LAB_000b82dc:\n    pppppppbVar6 = (byte *******)0x0;" (statement_identifier "LAB_000b82dc") (: ":") (expression_statement "pppppppbVar6 = (byte *******)0x0;" (assignment_expression "pppppppbVar6 = (byte *******)0x0" (identifier "pppppppbVar6") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);" (assignment_expression "pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (identifier "pcVar26") (= "=") (cast_expression "(code *)(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d78) + 0x7c)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d78) + 0x7c" (pointer_expression "*(int *)(local_148 + -0x7d78)" (* "*") (cast_expression "(int *)(local_148 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d78)" (( "(") (binary_expression "local_148 + -0x7d78" (identifier "local_148") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "0x7c")) () ")")))) (; ";")) (labeled_statement "LAB_000b82e8:\n    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);" (statement_identifier "LAB_000b82e8") (: ":") (expression_statement "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6);" (call_expression "(**(code **)(local_148 + -0x7fb4))(pppppppbVar6)" (parenthesized_expression "(**(code **)(local_148 + -0x7fb4))" (( "(") (pointer_expression "**(code **)(local_148 + -0x7fb4)" (* "*") (pointer_expression "*(code **)(local_148 + -0x7fb4)" (* "*") (cast_expression "(code **)(local_148 + -0x7fb4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_148 + -0x7fb4)" (( "(") (binary_expression "local_148 + -0x7fb4" (identifier "local_148") (+ "+") (number_literal "-0x7fb4")) () ")"))))) () ")")) (argument_list "(pppppppbVar6)" (( "(") (identifier "pppppppbVar6") () ")"))) (; ";"))) (if_statement "if (local_110 != (byte *******)0x0) goto LAB_000b8280;" (if "if") (parenthesized_expression "(local_110 != (byte *******)0x0)" (( "(") (binary_expression "local_110 != (byte *******)0x0" (identifier "local_110") (!= "!=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b8280;" (goto "goto") (statement_identifier "LAB_000b8280") (; ";"))) (labeled_statement "LAB_000b8300:\n    pppppppbVar6 = (byte *******)(iVar12 + 0x14);" (statement_identifier "LAB_000b8300") (: ":") (expression_statement "pppppppbVar6 = (byte *******)(iVar12 + 0x14);" (assignment_expression "pppppppbVar6 = (byte *******)(iVar12 + 0x14)" (identifier "pppppppbVar6") (= "=") (cast_expression "(byte *******)(iVar12 + 0x14)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar12 + 0x14)" (( "(") (binary_expression "iVar12 + 0x14" (identifier "iVar12") (+ "+") (number_literal "0x14")) () ")")))) (; ";"))) (expression_statement "local_154 = (byte ******)0xffffffff;" (assignment_expression "local_154 = (byte ******)0xffffffff" (identifier "local_154") (= "=") (cast_expression "(byte ******)0xffffffff" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "local_158 = (byte *******)0x1;" (assignment_expression "local_158 = (byte *******)0x1" (identifier "local_158") (= "=") (cast_expression "(byte *******)0x1" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pppppppbVar18 = local_100;" (assignment_expression "pppppppbVar18 = local_100" (identifier "pppppppbVar18") (= "=") (identifier "local_100")) (; ";")) (expression_statement "pppppppbVar19 = local_fc;" (assignment_expression "pppppppbVar19 = local_fc" (identifier "pppppppbVar19") (= "=") (identifier "local_fc")) (; ";")) (expression_statement "(*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);" (call_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12)" (parenthesized_expression "(*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))" (( "(") (pointer_expression "*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0)" (* "*") (cast_expression "(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_148 + -0x7d60) + -0x13c0)" (( "(") (binary_expression "*(int *)(local_148 + -0x7d60) + -0x13c0" (pointer_expression "*(int *)(local_148 + -0x7d60)" (* "*") (cast_expression "(int *)(local_148 + -0x7d60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_148 + -0x7d60)" (( "(") (binary_expression "local_148 + -0x7d60" (identifier "local_148") (+ "+") (number_literal "-0x7d60")) () ")")))) (+ "+") (number_literal "-0x13c0")) () ")")))) () ")")) (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")"))) (; ";")) (} "}")))) (expression_statement "pppppppbVar31 = (byte *******)&local_100;" (assignment_expression "pppppppbVar31 = (byte *******)&local_100" (identifier "pppppppbVar31") (= "=") (cast_expression "(byte *******)&local_100" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_100" (& "&") (identifier "local_100")))) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_c4 == (byte *******)*local_130) {\n    return (byte *******)*local_130;\n  }" (if "if") (parenthesized_expression "(local_c4 == (byte *******)*local_130)" (( "(") (binary_expression "local_c4 == (byte *******)*local_130" (identifier "local_c4") (== "==") (cast_expression "(byte *******)*local_130" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*local_130" (* "*") (identifier "local_130")))) () ")")) (compound_statement "{\n    return (byte *******)*local_130;\n  }" ({ "{") (return_statement "return (byte *******)*local_130;" (return "return") (cast_expression "(byte *******)*local_130" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*local_130" (* "*") (identifier "local_130"))) (; ";")) (} "}"))) (expression_statement "pcVar29 = *(code **)(local_148 + -0x7b28);" (assignment_expression "pcVar29 = *(code **)(local_148 + -0x7b28)" (identifier "pcVar29") (= "=") (pointer_expression "*(code **)(local_148 + -0x7b28)" (* "*") (cast_expression "(code **)(local_148 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_148 + -0x7b28)" (( "(") (binary_expression "local_148 + -0x7b28" (identifier "local_148") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "pcVar36 = FUN_000b8b7c;" (assignment_expression "pcVar36 = FUN_000b8b7c" (identifier "pcVar36") (= "=") (identifier "FUN_000b8b7c")) (; ";")) (expression_statement "(*pcVar29)();" (call_expression "(*pcVar29)()" (parenthesized_expression "(*pcVar29)" (( "(") (pointer_expression "*pcVar29" (* "*") (identifier "pcVar29")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar30 = pcVar29 + 0xdfda4;" (assignment_expression "pcVar30 = pcVar29 + 0xdfda4" (identifier "pcVar30") (= "=") (binary_expression "pcVar29 + 0xdfda4" (identifier "pcVar29") (+ "+") (number_literal "0xdfda4"))) (; ";")) (expression_statement "piVar24 = *(int **)(pcVar29 + 0xd82a8);" (assignment_expression "piVar24 = *(int **)(pcVar29 + 0xd82a8)" (identifier "piVar24") (= "=") (pointer_expression "*(int **)(pcVar29 + 0xd82a8)" (* "*") (cast_expression "(int **)(pcVar29 + 0xd82a8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar29 + 0xd82a8)" (( "(") (binary_expression "pcVar29 + 0xd82a8" (identifier "pcVar29") (+ "+") (number_literal "0xd82a8")) () ")"))))) (; ";")) (expression_statement "iStack_17c = *piVar24;" (assignment_expression "iStack_17c = *piVar24" (identifier "iStack_17c") (= "=") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) (; ";")) (expression_statement "pcStack_188 = pcVar30;" (assignment_expression "pcStack_188 = pcVar30" (identifier "pcStack_188") (= "=") (identifier "pcVar30")) (; ";")) (expression_statement "pppppppbStack_174 = (byte *******)&local_100;" (assignment_expression "pppppppbStack_174 = (byte *******)&local_100" (identifier "pppppppbStack_174") (= "=") (cast_expression "(byte *******)&local_100" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_100" (& "&") (identifier "local_100")))) (; ";")) (expression_statement "pcStack_170 = pcVar26;" (assignment_expression "pcStack_170 = pcVar26" (identifier "pcStack_170") (= "=") (identifier "pcVar26")) (; ";")) (expression_statement "pcStack_16c = pcVar36;" (assignment_expression "pcStack_16c = pcVar36" (identifier "pcStack_16c") (= "=") (identifier "pcVar36")) (; ";")) (expression_statement "pppppppbStack_160 = pppppppbVar18;" (assignment_expression "pppppppbStack_160 = pppppppbVar18" (identifier "pppppppbStack_160") (= "=") (identifier "pppppppbVar18")) (; ";")) (expression_statement "pppppppbStack_15c = pppppppbVar19;" (assignment_expression "pppppppbStack_15c = pppppppbVar19" (identifier "pppppppbStack_15c") (= "=") (identifier "pppppppbVar19")) (; ";")) (if_statement "if (*pppppppbVar31 == (byte ******)0x0) {\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }\n  else {\n    pppppppbVar11 = (byte *******)0x0;\n  }" (if "if") (parenthesized_expression "(*pppppppbVar31 == (byte ******)0x0)" (( "(") (binary_expression "*pppppppbVar31 == (byte ******)0x0" (pointer_expression "*pppppppbVar31" (* "*") (identifier "pppppppbVar31")) (== "==") (cast_expression "(byte ******)0x0" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pppppppbVar17 = (byte *******)&pppppppbStack_160;\n    pppppppbStack_180 = pppppppbVar17;\n    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);\n    pcVar30 = pcStack_188;\n    pppppppbVar6 = pppppppbVar17;\n    if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }\n  }" ({ "{") (expression_statement "pppppppbVar17 = (byte *******)&pppppppbStack_160;" (assignment_expression "pppppppbVar17 = (byte *******)&pppppppbStack_160" (identifier "pppppppbVar17") (= "=") (cast_expression "(byte *******)&pppppppbStack_160" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&pppppppbStack_160" (& "&") (identifier "pppppppbStack_160")))) (; ";")) (expression_statement "pppppppbStack_180 = pppppppbVar17;" (assignment_expression "pppppppbStack_180 = pppppppbVar17" (identifier "pppppppbStack_180") (= "=") (identifier "pppppppbVar17")) (; ";")) (expression_statement "pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);" (assignment_expression "pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6)" (identifier "pppppppbVar11") (= "=") (cast_expression "(byte *******)sqlite3_vmprintf(pppppppbVar6)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "sqlite3_vmprintf(pppppppbVar6)" (identifier "sqlite3_vmprintf") (argument_list "(pppppppbVar6)" (( "(") (identifier "pppppppbVar6") () ")"))))) (; ";")) (expression_statement "pcVar30 = pcStack_188;" (assignment_expression "pcVar30 = pcStack_188" (identifier "pcVar30") (= "=") (identifier "pcStack_188")) (; ";")) (expression_statement "pppppppbVar6 = pppppppbVar17;" (assignment_expression "pppppppbVar6 = pppppppbVar17" (identifier "pppppppbVar6") (= "=") (identifier "pppppppbVar17")) (; ";")) (if_statement "if (pppppppbVar11 == (byte *******)0x0) {\n      *pppppppbVar31 = (byte ******)0x7;\n    }" (if "if") (parenthesized_expression "(pppppppbVar11 == (byte *******)0x0)" (( "(") (binary_expression "pppppppbVar11 == (byte *******)0x0" (identifier "pppppppbVar11") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *pppppppbVar31 = (byte ******)0x7;\n    }" ({ "{") (expression_statement "*pppppppbVar31 = (byte ******)0x7;" (assignment_expression "*pppppppbVar31 = (byte ******)0x7" (pointer_expression "*pppppppbVar31" (* "*") (identifier "pppppppbVar31")) (= "=") (cast_expression "(byte ******)0x7" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x7"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    pppppppbVar11 = (byte *******)0x0;\n  }" (else "else") (compound_statement "{\n    pppppppbVar11 = (byte *******)0x0;\n  }" ({ "{") (expression_statement "pppppppbVar11 = (byte *******)0x0;" (assignment_expression "pppppppbVar11 = (byte *******)0x0" (identifier "pppppppbVar11") (= "=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (if_statement "if (iStack_17c == *piVar24) {\n    return pppppppbVar11;\n  }" (if "if") (parenthesized_expression "(iStack_17c == *piVar24)" (( "(") (binary_expression "iStack_17c == *piVar24" (identifier "iStack_17c") (== "==") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) () ")")) (compound_statement "{\n    return pppppppbVar11;\n  }" ({ "{") (return_statement "return pppppppbVar11;" (return "return") (identifier "pppppppbVar11") (; ";")) (} "}"))) (expression_statement "pcVar26 = *(code **)(pcVar30 + -0x7b28);" (assignment_expression "pcVar26 = *(code **)(pcVar30 + -0x7b28)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar30 + -0x7b28)" (* "*") (cast_expression "(code **)(pcVar30 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar30 + -0x7b28)" (( "(") (binary_expression "pcVar30 + -0x7b28" (identifier "pcVar30") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "iVar12 = iStack_17c;" (assignment_expression "iVar12 = iStack_17c" (identifier "iVar12") (= "=") (identifier "iStack_17c")) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppppbVar11 = (byte *******)&pppppppbStack_190;" (assignment_expression "pppppppbVar11 = (byte *******)&pppppppbStack_190" (identifier "pppppppbVar11") (= "=") (cast_expression "(byte *******)&pppppppbStack_190" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&pppppppbStack_190" (& "&") (identifier "pppppppbStack_190")))) (; ";")) (expression_statement "piVar24 = *(int **)(pcVar26 + 0xd8208);" (assignment_expression "piVar24 = *(int **)(pcVar26 + 0xd8208)" (identifier "piVar24") (= "=") (pointer_expression "*(int **)(pcVar26 + 0xd8208)" (* "*") (cast_expression "(int **)(pcVar26 + 0xd8208)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xd8208)" (( "(") (binary_expression "pcVar26 + 0xd8208" (identifier "pcVar26") (+ "+") (number_literal "0xd8208")) () ")"))))) (; ";")) (expression_statement "pppppppbVar17 = (byte *******)*piVar24;" (assignment_expression "pppppppbVar17 = (byte *******)*piVar24" (identifier "pppppppbVar17") (= "=") (cast_expression "(byte *******)*piVar24" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*piVar24" (* "*") (identifier "piVar24")))) (; ";")) (expression_statement "pppppppbVar31 = pppppppbVar17;" (assignment_expression "pppppppbVar31 = pppppppbVar17" (identifier "pppppppbVar31") (= "=") (identifier "pppppppbVar17")) (; ";")) (expression_statement "pppppppbStack_190 = pppppppbVar18;" (assignment_expression "pppppppbStack_190 = pppppppbVar18" (identifier "pppppppbStack_190") (= "=") (identifier "pppppppbVar18")) (; ";")) (expression_statement "pppppppbStack_18c = pppppppbVar19;" (assignment_expression "pppppppbStack_18c = pppppppbVar19" (identifier "pppppppbStack_18c") (= "=") (identifier "pppppppbVar19")) (; ";")) (if_statement "if (*(int *)(iVar12 + 8) == 0) {\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar12 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar12 + 8) == 0" (pointer_expression "*(int *)(iVar12 + 8)" (* "*") (cast_expression "(int *)(iVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar35 = sqlite3_vmprintf();\n    *(undefined4 *)(iVar12 + 4) = uVar35;\n    *(undefined4 *)(iVar12 + 8) = 1;\n    pppppppbVar31 = pppppppbVar11;\n  }" ({ "{") (expression_statement "uVar35 = sqlite3_vmprintf();" (assignment_expression "uVar35 = sqlite3_vmprintf()" (identifier "uVar35") (= "=") (call_expression "sqlite3_vmprintf()" (identifier "sqlite3_vmprintf") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar12 + 4) = uVar35;" (assignment_expression "*(undefined4 *)(iVar12 + 4) = uVar35" (pointer_expression "*(undefined4 *)(iVar12 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 4)" (( "(") (binary_expression "iVar12 + 4" (identifier "iVar12") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar35")) (; ";")) (expression_statement "*(undefined4 *)(iVar12 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar12 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar12 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "pppppppbVar31 = pppppppbVar11;" (assignment_expression "pppppppbVar31 = pppppppbVar11" (identifier "pppppppbVar31") (= "=") (identifier "pppppppbVar11")) (; ";")) (} "}"))) (expression_statement "pppppppbVar11 = (byte *******)*piVar24;" (assignment_expression "pppppppbVar11 = (byte *******)*piVar24" (identifier "pppppppbVar11") (= "=") (cast_expression "(byte *******)*piVar24" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*piVar24" (* "*") (identifier "piVar24")))) (; ";")) (if_statement "if (pppppppbVar17 == pppppppbVar11) {\n    return pppppppbVar11;\n  }" (if "if") (parenthesized_expression "(pppppppbVar17 == pppppppbVar11)" (( "(") (binary_expression "pppppppbVar17 == pppppppbVar11" (identifier "pppppppbVar17") (== "==") (identifier "pppppppbVar11")) () ")")) (compound_statement "{\n    return pppppppbVar11;\n  }" ({ "{") (return_statement "return pppppppbVar11;" (return "return") (identifier "pppppppbVar11") (; ";")) (} "}"))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd81dc);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd81dc)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xd81dc)" (* "*") (cast_expression "(code **)(pcVar26 + 0xd81dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xd81dc)" (( "(") (binary_expression "pcVar26 + 0xd81dc" (identifier "pcVar26") (+ "+") (number_literal "0xd81dc")) () ")"))))) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);" (assignment_expression "iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19)" (identifier "iVar12") (= "=") (call_expression "(*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))\n                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19)" (parenthesized_expression "(*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0)" (* "*") (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xd7f04) + 0x3fb0" (pointer_expression "*(int *)(pcVar26 + 0xd7f04)" (* "*") (cast_expression "(int *)(pcVar26 + 0xd7f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xd7f04)" (( "(") (binary_expression "pcVar26 + 0xd7f04" (identifier "pcVar26") (+ "+") (number_literal "0xd7f04")) () ")")))) (+ "+") (number_literal "0x3fb0")) () ")")))) () ")")) (argument_list "(pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19)" (( "(") (binary_expression "pppppppbVar6 + 2" (identifier "pppppppbVar6") (+ "+") (number_literal "2")) (, ",") (identifier "pppppppbVar18") (, ",") (identifier "pppppppbVar19") () ")")))) (; ";")) (if_statement "if (pppppppbVar6[2] == (byte ******)0x0) {\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }\n  else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }" (if "if") (parenthesized_expression "(pppppppbVar6[2] == (byte ******)0x0)" (( "(") (binary_expression "pppppppbVar6[2] == (byte ******)0x0" (subscript_expression "pppppppbVar6[2]" (identifier "pppppppbVar6") ([ "[") (number_literal "2") (] "]")) (== "==") (cast_expression "(byte ******)0x0" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppppbVar20 = *pppppppbVar6;\n    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);\n    ppppppbVar22 = (byte ******)ppppppbVar20[3];\n    if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);\n    (*pcVar26)(iVar12);\n  }" ({ "{") (expression_statement "ppppppbVar20 = *pppppppbVar6;" (assignment_expression "ppppppbVar20 = *pppppppbVar6" (identifier "ppppppbVar20") (= "=") (pointer_expression "*pppppppbVar6" (* "*") (identifier "pppppppbVar6"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);" (call_expression "(*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12)" (parenthesized_expression "(*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8)" (* "*") (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8" (pointer_expression "*(int *)(pcVar26 + 0xd7e8c)" (* "*") (cast_expression "(int *)(pcVar26 + 0xd7e8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xd7e8c)" (( "(") (binary_expression "pcVar26 + 0xd7e8c" (identifier "pcVar26") (+ "+") (number_literal "0xd7e8c")) () ")")))) (+ "+") (number_literal "0x6ea8")) () ")")))) () ")")) (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")"))) (; ";")) (expression_statement "ppppppbVar22 = (byte ******)ppppppbVar20[3];" (assignment_expression "ppppppbVar22 = (byte ******)ppppppbVar20[3]" (identifier "ppppppbVar22") (= "=") (cast_expression "(byte ******)ppppppbVar20[3]" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppbVar20[3]" (identifier "ppppppbVar20") ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if ((int)ppppppbVar22 < 1) {\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }\n    else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }" (if "if") (parenthesized_expression "((int)ppppppbVar22 < 1)" (( "(") (binary_expression "(int)ppppppbVar22 < 1" (cast_expression "(int)ppppppbVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar22")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }\n    }" ({ "{") (expression_statement "iVar5 = *(int *)(pcVar26 + 0xd7ca8);" (assignment_expression "iVar5 = *(int *)(pcVar26 + 0xd7ca8)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcVar26 + 0xd7ca8)" (* "*") (cast_expression "(int *)(pcVar26 + 0xd7ca8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xd7ca8)" (( "(") (binary_expression "pcVar26 + 0xd7ca8" (identifier "pcVar26") (+ "+") (number_literal "0xd7ca8")) () ")"))))) (; ";")) (if_statement "if (ppppppbVar22 != (byte ******)0x0) {\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }" (if "if") (parenthesized_expression "(ppppppbVar22 != (byte ******)0x0)" (( "(") (binary_expression "ppppppbVar22 != (byte ******)0x0" (identifier "ppppppbVar22") (!= "!=") (cast_expression "(byte ******)0x0" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        ppppppbVar25 = (byte ******)0x0;\nLAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;\n        if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }\n        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();\n        if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }\n        pppppppbVar6 = pppppppbVar19 + 1;\n        if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }\nLAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;\n        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);\nLAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);\n        return pppppppbVar19;\n      }" ({ "{") (expression_statement "ppppppbVar25 = (byte ******)0x0;" (assignment_expression "ppppppbVar25 = (byte ******)0x0" (identifier "ppppppbVar25") (= "=") (cast_expression "(byte ******)0x0" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_000b8dcc:\n        ppppppbVar22 = (byte ******)0x0;" (statement_identifier "LAB_000b8dcc") (: ":") (expression_statement "ppppppbVar22 = (byte ******)0x0;" (assignment_expression "ppppppbVar22 = (byte ******)0x0" (identifier "ppppppbVar22") (= "=") (cast_expression "(byte ******)0x0" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";"))) (if_statement "if (pppppppbVar31 != (byte *******)0x0) {\n          ppppppbVar22 = *pppppppbVar31;\n        }" (if "if") (parenthesized_expression "(pppppppbVar31 != (byte *******)0x0)" (( "(") (binary_expression "pppppppbVar31 != (byte *******)0x0" (identifier "pppppppbVar31") (!= "!=") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppppppbVar22 = *pppppppbVar31;\n        }" ({ "{") (expression_statement "ppppppbVar22 = *pppppppbVar31;" (assignment_expression "ppppppbVar22 = *pppppppbVar31" (identifier "ppppppbVar22") (= "=") (pointer_expression "*pppppppbVar31" (* "*") (identifier "pppppppbVar31"))) (; ";")) (} "}"))) (expression_statement "iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();" (assignment_expression "iVar5 = (**(code **)(pcVar26 + 0xd7ed4))()" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar26 + 0xd7ed4))()" (parenthesized_expression "(**(code **)(pcVar26 + 0xd7ed4))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xd7ed4)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xd7ed4)" (* "*") (cast_expression "(code **)(pcVar26 + 0xd7ed4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xd7ed4)" (( "(") (binary_expression "pcVar26 + 0xd7ed4" (identifier "pcVar26") (+ "+") (number_literal "0xd7ed4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)) {\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }" (if "if") (parenthesized_expression "((iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0))" (( "(") (binary_expression "(iVar5 != 0) ||\n           (pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)" (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0)" (( "(") (comma_expression "pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),\n           pppppppbVar19 == (byte *******)0x0" (assignment_expression "pppppppbVar19 =\n                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31)" (identifier "pppppppbVar19") (= "=") (cast_expression "(byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31)" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31)" (parenthesized_expression "(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354)" (* "*") (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0xd7ef4) + 0x354)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xd7ef4) + 0x354" (pointer_expression "*(int *)(pcVar26 + 0xd7ef4)" (* "*") (cast_expression "(int *)(pcVar26 + 0xd7ef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xd7ef4)" (( "(") (binary_expression "pcVar26 + 0xd7ef4" (identifier "pcVar26") (+ "+") (number_literal "0xd7ef4")) () ")")))) (+ "+") (number_literal "0x354")) () ")")))) () ")")) (argument_list "(pppppppbVar31)" (( "(") (identifier "pppppppbVar31") () ")"))))) (, ",") (binary_expression "pppppppbVar19 == (byte *******)0x0" (identifier "pppppppbVar19") (== "==") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n          pppppppbVar6[2] = (byte ******)0x7;\n          (*pcVar26)(iVar12);\n          goto LAB_000b8d20;\n        }" ({ "{") (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd7cb8);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd7cb8)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" (* "*") (cast_expression "(code **)(pcVar26 + 0xd7cb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xd7cb8)" (( "(") (binary_expression "pcVar26 + 0xd7cb8" (identifier "pcVar26") (+ "+") (number_literal "0xd7cb8")) () ")"))))) (; ";")) (expression_statement "pppppppbVar6[2] = (byte ******)0x7;" (assignment_expression "pppppppbVar6[2] = (byte ******)0x7" (subscript_expression "pppppppbVar6[2]" (identifier "pppppppbVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(byte ******)0x7" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x7"))) (; ";")) (expression_statement "(*pcVar26)(iVar12);" (call_expression "(*pcVar26)(iVar12)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")"))) (; ";")) (goto_statement "goto LAB_000b8d20;" (goto "goto") (statement_identifier "LAB_000b8d20") (; ";")) (} "}"))) (expression_statement "pppppppbVar6 = pppppppbVar19 + 1;" (assignment_expression "pppppppbVar6 = pppppppbVar19 + 1" (identifier "pppppppbVar6") (= "=") (binary_expression "pppppppbVar19 + 1" (identifier "pppppppbVar19") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (0 < (int)ppppppbVar22) {\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }" (if "if") (parenthesized_expression "(0 < (int)ppppppbVar22)" (( "(") (binary_expression "0 < (int)ppppppbVar22" (number_literal "0") (< "<") (cast_expression "(int)ppppppbVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar22"))) () ")")) (compound_statement "{\n          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;\n          ppppppbVar20 = (byte ******)0x0;\n          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }\n          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;\n          ppppppbVar16 = ppppppbVar22;\n          do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);\n        }" ({ "{") (if_statement "if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;" (if "if") (parenthesized_expression "(pppppppbVar19[1] == ppppppbVar25)" (( "(") (binary_expression "pppppppbVar19[1] == ppppppbVar25" (subscript_expression "pppppppbVar19[1]" (identifier "pppppppbVar19") ([ "[") (number_literal "1") (] "]")) (== "==") (identifier "ppppppbVar25")) () ")")) (goto_statement "goto LAB_000b8e6c;" (goto "goto") (statement_identifier "LAB_000b8e6c") (; ";"))) (expression_statement "ppppppbVar20 = (byte ******)0x0;" (assignment_expression "ppppppbVar20 = (byte ******)0x0" (identifier "ppppppbVar20") (= "=") (cast_expression "(byte ******)0x0" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }" (if "if") (parenthesized_expression "((int)pppppppbVar19[1] <= (int)ppppppbVar25)" (( "(") (binary_expression "(int)pppppppbVar19[1] <= (int)ppppppbVar25" (cast_expression "(int)pppppppbVar19[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppbVar19[1]" (identifier "pppppppbVar19") ([ "[") (number_literal "1") (] "]"))) (<= "<=") (cast_expression "(int)ppppppbVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar25"))) () ")")) (compound_statement "{\n            ppppppbVar20 = (byte ******)0x0;\n            pppppppbVar31 = pppppppbVar19 + 2;\n            do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);\n          }" ({ "{") (expression_statement "ppppppbVar20 = (byte ******)0x0;" (assignment_expression "ppppppbVar20 = (byte ******)0x0" (identifier "ppppppbVar20") (= "=") (cast_expression "(byte ******)0x0" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppbVar31 = pppppppbVar19 + 2;" (assignment_expression "pppppppbVar31 = pppppppbVar19 + 2" (identifier "pppppppbVar31") (= "=") (binary_expression "pppppppbVar19 + 2" (identifier "pppppppbVar19") (+ "+") (number_literal "2"))) (; ";")) (do_statement "do {\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);" (do "do") (compound_statement "{\n              pppppppbVar6 = pppppppbVar31;\n              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);\n              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;\n              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;\n              pppppppbVar31 = pppppppbVar6 + 1;\n            }" ({ "{") (expression_statement "pppppppbVar6 = pppppppbVar31;" (assignment_expression "pppppppbVar6 = pppppppbVar31" (identifier "pppppppbVar6") (= "=") (identifier "pppppppbVar31")) (; ";")) (expression_statement "ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);" (assignment_expression "ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1)" (identifier "ppppppbVar20") (= "=") (cast_expression "(byte ******)((int)ppppppbVar20 + 1)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppbVar20 + 1)" (( "(") (binary_expression "(int)ppppppbVar20 + 1" (cast_expression "(int)ppppppbVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar20")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;" (if "if") (parenthesized_expression "(ppppppbVar22 == ppppppbVar20)" (( "(") (binary_expression "ppppppbVar22 == ppppppbVar20" (identifier "ppppppbVar22") (== "==") (identifier "ppppppbVar20")) () ")")) (goto_statement "goto LAB_000b8e64;" (goto "goto") (statement_identifier "LAB_000b8e64") (; ";"))) (if_statement "if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;" (if "if") (parenthesized_expression "(*pppppppbVar6 == ppppppbVar25)" (( "(") (binary_expression "*pppppppbVar6 == ppppppbVar25" (pointer_expression "*pppppppbVar6" (* "*") (identifier "pppppppbVar6")) (== "==") (identifier "ppppppbVar25")) () ")")) (goto_statement "goto LAB_000b8e6c;" (goto "goto") (statement_identifier "LAB_000b8e6c") (; ";"))) (expression_statement "pppppppbVar31 = pppppppbVar6 + 1;" (assignment_expression "pppppppbVar31 = pppppppbVar6 + 1" (identifier "pppppppbVar31") (= "=") (binary_expression "pppppppbVar6 + 1" (identifier "pppppppbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)*pppppppbVar6 <= (int)ppppppbVar25)" (( "(") (binary_expression "(int)*pppppppbVar6 <= (int)ppppppbVar25" (cast_expression "(int)*pppppppbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppppbVar6" (* "*") (identifier "pppppppbVar6"))) (<= "<=") (cast_expression "(int)ppppppbVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar25"))) () ")")) (; ";")) (} "}"))) (expression_statement "pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;" (assignment_expression "pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22" (identifier "pppppppbVar31") (= "=") (binary_expression "pppppppbVar19 + (int)ppppppbVar22" (identifier "pppppppbVar19") (+ "+") (cast_expression "(int)ppppppbVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar22")))) (; ";")) (expression_statement "ppppppbVar16 = ppppppbVar22;" (assignment_expression "ppppppbVar16 = ppppppbVar22" (identifier "ppppppbVar16") (= "=") (identifier "ppppppbVar22")) (; ";")) (do_statement "do {\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          } while ((int)ppppppbVar20 < (int)ppppppbVar16);" (do "do") (compound_statement "{\n            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);\n            pppppppbVar31[1] = *pppppppbVar31;\n            pppppppbVar31 = pppppppbVar31 + -1;\n          }" ({ "{") (expression_statement "ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);" (assignment_expression "ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1)" (identifier "ppppppbVar16") (= "=") (cast_expression "(byte ******)((int)ppppppbVar16 + -1)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppbVar16 + -1)" (( "(") (binary_expression "(int)ppppppbVar16 + -1" (cast_expression "(int)ppppppbVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar16")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "pppppppbVar31[1] = *pppppppbVar31;" (assignment_expression "pppppppbVar31[1] = *pppppppbVar31" (subscript_expression "pppppppbVar31[1]" (identifier "pppppppbVar31") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*pppppppbVar31" (* "*") (identifier "pppppppbVar31"))) (; ";")) (expression_statement "pppppppbVar31 = pppppppbVar31 + -1;" (assignment_expression "pppppppbVar31 = pppppppbVar31 + -1" (identifier "pppppppbVar31") (= "=") (binary_expression "pppppppbVar31 + -1" (identifier "pppppppbVar31") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)ppppppbVar20 < (int)ppppppbVar16)" (( "(") (binary_expression "(int)ppppppbVar20 < (int)ppppppbVar16" (cast_expression "(int)ppppppbVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar20")) (< "<") (cast_expression "(int)ppppppbVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar16"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_000b8e64:\n        *pppppppbVar6 = ppppppbVar25;" (statement_identifier "LAB_000b8e64") (: ":") (expression_statement "*pppppppbVar6 = ppppppbVar25;" (assignment_expression "*pppppppbVar6 = ppppppbVar25" (pointer_expression "*pppppppbVar6" (* "*") (identifier "pppppppbVar6")) (= "=") (identifier "ppppppbVar25")) (; ";"))) (expression_statement "*pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);" (assignment_expression "*pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1)" (pointer_expression "*pppppppbVar19" (* "*") (identifier "pppppppbVar19")) (= "=") (cast_expression "(byte ******)((int)ppppppbVar22 + 1)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppbVar22 + 1)" (( "(") (binary_expression "(int)ppppppbVar22 + 1" (cast_expression "(int)ppppppbVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar22")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (labeled_statement "LAB_000b8e6c:\n        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);" (statement_identifier "LAB_000b8e6c") (: ":") (expression_statement "(**(code **)(pcVar26 + 0xd7cb8))(iVar12);" (call_expression "(**(code **)(pcVar26 + 0xd7cb8))(iVar12)" (parenthesized_expression "(**(code **)(pcVar26 + 0xd7cb8))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xd7cb8)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" (* "*") (cast_expression "(code **)(pcVar26 + 0xd7cb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xd7cb8)" (( "(") (binary_expression "pcVar26 + 0xd7cb8" (identifier "pcVar26") (+ "+") (number_literal "0xd7cb8")) () ")"))))) () ")")) (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")"))) (; ";"))) (return_statement "return pppppppbVar19;" (return "return") (identifier "pppppppbVar19") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }" (else "else") (compound_statement "{\n      ppppppbVar25 = (byte ******)0x0;\n      pppppbVar21 = ppppppbVar20[4];\n      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);\n      do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);\n    }" ({ "{") (expression_statement "ppppppbVar25 = (byte ******)0x0;" (assignment_expression "ppppppbVar25 = (byte ******)0x0" (identifier "ppppppbVar25") (= "=") (cast_expression "(byte ******)0x0" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppbVar21 = ppppppbVar20[4];" (assignment_expression "pppppbVar21 = ppppppbVar20[4]" (identifier "pppppbVar21") (= "=") (subscript_expression "ppppppbVar20[4]" (identifier "ppppppbVar20") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);" (assignment_expression "pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8)" (identifier "pcVar30") (= "=") (cast_expression "(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xd7ef4) + 0x20c8" (pointer_expression "*(int *)(pcVar26 + 0xd7ef4)" (* "*") (cast_expression "(int *)(pcVar26 + 0xd7ef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xd7ef4)" (( "(") (binary_expression "pcVar26 + 0xd7ef4" (identifier "pcVar26") (+ "+") (number_literal "0xd7ef4")) () ")")))) (+ "+") (number_literal "0x20c8")) () ")")))) (; ";")) (do_statement "do {\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      } while (ppppppbVar25 != ppppppbVar22);" (do "do") (compound_statement "{\n        ppppbVar13 = *pppppbVar21;\n        pppppbVar21 = pppppbVar21 + 1;\n        iVar5 = iVar12;\n        if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }\n        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);\n        iVar5 = *(int *)(pcVar26 + 0xd7ca8);\n      }" ({ "{") (expression_statement "ppppbVar13 = *pppppbVar21;" (assignment_expression "ppppbVar13 = *pppppbVar21" (identifier "ppppbVar13") (= "=") (pointer_expression "*pppppbVar21" (* "*") (identifier "pppppbVar21"))) (; ";")) (expression_statement "pppppbVar21 = pppppbVar21 + 1;" (assignment_expression "pppppbVar21 = pppppbVar21 + 1" (identifier "pppppbVar21") (= "=") (binary_expression "pppppbVar21 + 1" (identifier "pppppbVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar5 = iVar12;" (assignment_expression "iVar5 = iVar12" (identifier "iVar5") (= "=") (identifier "iVar12")) (; ";")) (if_statement "if (ppppbVar13 == (byte ****)0x0) {\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }\n        else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" (if "if") (parenthesized_expression "(ppppbVar13 == (byte ****)0x0)" (( "(") (binary_expression "ppppbVar13 == (byte ****)0x0" (identifier "ppppbVar13") (== "==") (cast_expression "(byte ****)0x0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\njoined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;\n        }" ({ "{") (labeled_statement "joined_r0x000b8d9c:\n          if (iVar5 == 0) goto LAB_000b8dcc;" (statement_identifier "joined_r0x000b8d9c") (: ":") (if_statement "if (iVar5 == 0) goto LAB_000b8dcc;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b8dcc;" (goto "goto") (statement_identifier "LAB_000b8dcc") (; ";")))) (} "}")) (else_clause "else if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" (else "else") (if_statement "if (iVar12 != 0) {\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar5 = (*pcVar30)(ppppbVar13,iVar12);\n          goto joined_r0x000b8d9c;\n        }" ({ "{") (expression_statement "iVar5 = (*pcVar30)(ppppbVar13,iVar12);" (assignment_expression "iVar5 = (*pcVar30)(ppppbVar13,iVar12)" (identifier "iVar5") (= "=") (call_expression "(*pcVar30)(ppppbVar13,iVar12)" (parenthesized_expression "(*pcVar30)" (( "(") (pointer_expression "*pcVar30" (* "*") (identifier "pcVar30")) () ")")) (argument_list "(ppppbVar13,iVar12)" (( "(") (identifier "ppppbVar13") (, ",") (identifier "iVar12") () ")")))) (; ";")) (goto_statement "goto joined_r0x000b8d9c;" (goto "goto") (statement_identifier "joined_r0x000b8d9c") (; ";")) (} "}"))))) (expression_statement "ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);" (assignment_expression "ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1)" (identifier "ppppppbVar25") (= "=") (cast_expression "(byte ******)((int)ppppppbVar25 + 1)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppbVar25 + 1)" (( "(") (binary_expression "(int)ppppppbVar25 + 1" (cast_expression "(int)ppppppbVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppbVar25")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar26 + 0xd7ca8);" (assignment_expression "iVar5 = *(int *)(pcVar26 + 0xd7ca8)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcVar26 + 0xd7ca8)" (* "*") (cast_expression "(int *)(pcVar26 + 0xd7ca8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xd7ca8)" (( "(") (binary_expression "pcVar26 + 0xd7ca8" (identifier "pcVar26") (+ "+") (number_literal "0xd7ca8")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppppbVar25 != ppppppbVar22)" (( "(") (binary_expression "ppppppbVar25 != ppppppbVar22" (identifier "ppppppbVar25") (!= "!=") (identifier "ppppppbVar22")) () ")")) (; ";")) (} "}")))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd7cb8);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd7cb8)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" (* "*") (cast_expression "(code **)(pcVar26 + 0xd7cb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xd7cb8)" (( "(") (binary_expression "pcVar26 + 0xd7cb8" (identifier "pcVar26") (+ "+") (number_literal "0xd7cb8")) () ")"))))) (; ";")) (expression_statement "FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);" (call_expression "FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12)" (identifier "FUN_000b8c1c") (argument_list "(pppppppbVar6,iVar5 + -0x4c3c,iVar12)" (( "(") (identifier "pppppppbVar6") (, ",") (binary_expression "iVar5 + -0x4c3c" (identifier "iVar5") (+ "+") (number_literal "-0x4c3c")) (, ",") (identifier "iVar12") () ")"))) (; ";")) (expression_statement "(*pcVar26)(iVar12);" (call_expression "(*pcVar26)(iVar12)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }" (else "else") (compound_statement "{\n    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);\n  }" ({ "{") (expression_statement "pcVar26 = *(code **)(pcVar26 + 0xd7cb8);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0xd7cb8)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xd7cb8)" (* "*") (cast_expression "(code **)(pcVar26 + 0xd7cb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xd7cb8)" (( "(") (binary_expression "pcVar26 + 0xd7cb8" (identifier "pcVar26") (+ "+") (number_literal "0xd7cb8")) () ")"))))) (; ";")) (} "}")))) (labeled_statement "LAB_000b8d20:\n  (*pcVar26)(pppppppbVar31);" (statement_identifier "LAB_000b8d20") (: ":") (expression_statement "(*pcVar26)(pppppppbVar31);" (call_expression "(*pcVar26)(pppppppbVar31)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(pppppppbVar31)" (( "(") (identifier "pppppppbVar31") () ")"))) (; ";"))) (return_statement "return (byte *******)0x0;" (return "return") (cast_expression "(byte *******)0x0" (( "(") (type_descriptor "byte *******" (type_identifier "byte") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")) (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */

int function_1(int *pRc,type_1 *pBuf,type_2 *var_9,int var_1)

{
  type_3 *var_14;
  type_3 *puVar2;
  type_4 *psVar3;
  type_5 var_23;
  type_6 *pVVar5;
  type_7 uVar6;
  type_4 *var_22;
  type_8 *var_37;
  int var_35;
  char *var_43;
  type_4 **var_48;
  type_5 var_24;
  type_4 *var_31;
  int *var_53;
  void *pvVar15;
  type_1 *pFVar16;
  type_2 *puVar17;
  type_8 *ap;
  type_4 **var_47;
  type_4 **var_49;
  int var_29;
  type_4 *var_25;
  int *var_52;
  type_9 *pFVar23;
  char **var_54;
  int var_16;
  type_3 *var_3;
  type_3 *var_15;
  int *var_50;
  type_7 *puVar28;
  int var_36;
  type_2 *unaff_s3;
  type_10 *var_38;
  type_4 *var_51;
  type_10 unaff_s4;
  type_4 *var_27;
  int *unaff_s5;
  int *unaff_s6;
  type_11 *unaff_s7;
  type_3 *var_18;
  type_12 *var_41;
  type_12 *var_45;
  type_3 *var_10;
  int var_11;
  type_12 *var_46;
  type_12 *pcVar39;
  type_13 uVar40;
  type_4 *psStack_190;
  type_4 *psStack_18c;
  type_12 *pcStack_188;
  type_8 *pFStack_180;
  int var_44;
  type_1 *pFStack_174;
  type_12 *pcStack_170;
  type_12 *pcStack_16c;
  type_8 FStack_160;
  type_3 *var_20;
  type_12 *pcStack_13c;
  type_4 *psStack_138;
  type_12 *pcStack_134;
  int *piStack_130;
  type_4 *var_30;
  type_4 *psStack_128;
  type_4 *var_26;
  type_12 *pcStack_120;
  type_12 *pcStack_11c;
  int iStack_118;
  type_4 *psStack_114;
  type_8 *var_21;
  type_4 *psStack_10c;
  type_4 *psStack_108;
  type_4 *var_28;
  type_1 FStack_100;
  type_4 *psStack_f4;
  type_6 *pVStack_f0;
  type_4 *var_39;
  type_4 *psStack_e4;
  type_14 *var_34;
  type_15 *psStack_dc;
  type_4 *psStack_d8;
  int iStack_d4;
  type_4 *psStack_d0;
  type_5 uStack_cc;
  int var_40;
  type_3 *puStack_c0;
  int *piStack_bc;
  type_1 *pFStack_b8;
  type_2 *puStack_b4;
  type_10 uStack_b0;
  int *piStack_ac;
  int *piStack_a8;
  type_11 *piStack_a4;
  type_3 *puStack_a0;
  type_12 *pcStack_9c;
  type_4 *psStack_88;
  type_5 var_17;
  int var_13;
  int var_12;
  type_11 iDocid;
  type_11 iDelta;
  void *var_19;
  
  puVar2 = PTR___stack_chk_guard_00190e24;
  var_18 = var_7;
  iDocid._4_4_ = 0;
  iDocid._0_4_ = (type_4 *)0x0;
  var_19 = *(void **)PTR___stack_chk_guard_00190e24;
  var_10 = (type_3 *)0x0;
  var_22 = (type_4 *)var_9;
  var_51 = (type_4 *)var_1;
  puStack_b4 = unaff_s3;
  uStack_b0 = unaff_s4;
  if (0 < var_1) {
    var_46 = (type_12 *)(var_2 + -0x80);
    var_3 = var_7;
    var_10 = (type_3 *)(*var_46)(var_9,&iDocid);
    var_15 = var_4;
    var_22 = (type_4 *)(var_3 + -0x4cdc);
    var_17 = iDocid._4_4_;
    psStack_88 = iDocid._0_4_;
    var_45 = (type_12 *)(var_4 + 0x7b38);
    var_5(pRc,pBuf,(char *)var_22);
    var_14 = var_6;
    var_3 = var_7;
    puStack_b4 = var_9;
    uStack_b0 = var_1;
    if ((int)var_10 < var_1) {
      unaff_s5 = &var_12;
      unaff_s6 = &var_13;
      unaff_s7 = &iDelta;
      var_41 = (type_12 *)(var_6 + 0x61f0);
      var_25 = (type_4 *)(var_7 + -0x6390);
      var_27 = (type_4 *)(var_8 + 0x30a8);
      psVar3 = (type_4 *)(var_7 + -0x556c);
      do {
        var_11 = (*var_41)(var_9 + (int)var_10,unaff_s6,unaff_s5);
        var_10 = var_10 + var_11;
        var_22 = (type_4 *)(var_3 + -0x4cd0);
        psStack_88 = var_27;
        if (var_12 != 0) {
          psStack_88 = var_25;
        }
        var_51 = (type_4 *)var_13;
        (*var_45)(pRc,pBuf);
        var_11 = var_13;
        if (var_1 - (int)var_10 <= var_13) {
          var_11 = var_1 - (int)var_10;
        }
        if (0 < var_11) {
          var_15 = (type_3 *)0x0;
          do {
            var_16 = (*(type_12 *)(var_14 + 0x610c))(var_9 + (int)(var_15 + (int)var_10),unaff_s7);
            var_15 = var_15 + var_16;
            var_22 = psVar3;
            var_51 = iDelta._0_4_;
            (*var_45)(pRc,pBuf);
          } while ((int)var_15 < var_11);
          var_10 = var_10 + (int)var_15;
        }
        if (var_1 <= (int)var_10) break;
        var_11 = (*var_46)(var_9 + (int)var_10,unaff_s7);
        var_10 = var_10 + var_11;
        var_17 = iDocid._4_4_ + iDelta._4_4_;
        var_51 = (type_4 *)
                  ((int)&(iDelta._0_4_)->pVfs +
                  (int)((type_5)(var_17 < iDocid._4_4_) + (int)&(iDocid._0_4_)->pVfs));
        var_22 = (type_4 *)(var_18 + -0x4cdc);
        psStack_88 = var_51;
        iDocid._0_4_ = var_51;
        iDocid._4_4_ = var_17;
        (*var_45)(pRc,pBuf);
      } while ((int)var_10 < var_1);
    }
  }
  if (var_19 == *(void **)puVar2) {
    return (int)var_10;
  }
  var_46 = fts5DecodeFunction;
  pvVar15 = var_19;
  var_18 = PTR___stack_chk_fail_00190df8;
  (*(type_12 *)PTR___stack_chk_fail_00190df8)();
  var_20 = var_18 + 0xe0838;
  piStack_130 = *(int **)(var_18 + 0xd8d3c);
  var_21 = (type_8 *)0x0;
  var_40 = *piStack_130;
  var_11 = *(int *)(*(int *)((int)pvVar15 + 4) + 8);
  FStack_100.p = (type_2 *)0x0;
  FStack_100.var_1 = 0;
  FStack_100.nSpace = 0;
  var_25 = var_22;
  puStack_c0 = var_15;
  piStack_bc = pRc;
  pFStack_b8 = pBuf;
  piStack_ac = unaff_s5;
  piStack_a8 = unaff_s6;
  piStack_a4 = unaff_s7;
  puStack_a0 = var_10;
  pcStack_9c = var_46;
  uVar40 = (*(type_12 *)(*(int *)(var_18 + 0xd8ac0) + 0x7f68))((type_4 *)var_22->pVfs);
  var_23 = (type_5)((type_16)uVar40 >> 0x20);
  var_24 = (type_5)uVar40;
  pVVar5 = (type_6 *)(*(type_12 *)(*(int *)(var_20 + -0x7d60) + 0x6c88))(var_22->pVdbe,1);
  uVar6 = (**(type_12 **)(var_20 + -0x7f64))(var_22->pVdbe);
  if (var_21 == (type_8 *)0x0) {
    var_51 = (type_4 *)&pVVar5->pNext;
    var_25 = (type_4 *)((int)var_51 >> 0x1f);
    var_22 = (type_4 *)(*(type_12 *)(*(int *)(var_20 + -0x7d68) + 0x51c0))(&var_21);
    if (var_22 == (type_4 *)0x0) goto LAB_000b82dc;
    if (0 < (int)pVVar5) {
      (**(type_12 **)(var_20 + -0x7af4))(var_22,uVar6,pVVar5);
    }
    var_25 = (type_4 *)((var_23 << 0xb) >> 0x10);
    psStack_138 = (type_4 *)(var_24 & 0x7fffffff);
    var_16 = var_23 << 0x1b;
    if (var_25 != (type_4 *)0x0) {
      FStack_160.nPhrase = (var_23 & 0xf) << 1 | var_24 >> 0x1f;
      FStack_160.rc = (int)var_25;
      FStack_160.apPhrase = (type_17 **)psStack_138;
      if (var_16 < 0) {
        pcStack_13c = (type_12 *)(*(int *)(var_20 + -0x7cf4) + 0x7b38);
        var_51 = (type_4 *)(*(int *)(var_20 + -0x7fc4) + -0x4c44);
        var_25 = (type_4 *)(*(int *)(var_20 + -0x7fc4) + -0x4c60);
        var_5((int *)&var_21,&FStack_100,(char *)var_25);
        goto LAB_000b8528;
      }
      pcStack_13c = (type_12 *)(*(int *)(var_20 + -0x7cf4) + 0x7b38);
      var_51 = (type_4 *)(*(int *)(var_20 + -0x7fc8) + 0x30a8);
      var_25 = (type_4 *)(*(int *)(var_20 + -0x7fc4) + -0x4c60);
      var_5((int *)&var_21,&FStack_100,(char *)var_25);
      if (var_11 == 0) {
        psStack_138 = (type_4 *)&var_39;
        var_39 = (type_4 *)0x0;
        var_28 = (type_4 *)0x0;
        psStack_e4 = (type_4 *)0x0;
        var_34 = (type_14 *)0x0;
        if (3 < (int)pVVar5) {
          var_30 = (type_4 *)
                        ((type_5)*(type_18 *)((int)&var_22->pVfs + 2) * 0x100 +
                         (type_5)*(type_18 *)((int)&var_22->pVfs + 3) & 0xffff);
          var_26 = (type_4 *)(type_5)((int)var_30 < (int)pVVar5);
          var_27 = (type_4 *)
                    ((type_5)*(type_18 *)&var_22->pVfs * 0x100 + (type_5)*(type_18 *)((int)&var_22->pVfs + 1)
                    & 0xffff);
          if (var_26 == (type_4 *)0x0) {
            if ((int)var_30 <= (int)pVVar5) {
              if (var_27 == (type_4 *)0x0) {
                var_27 = var_30;
              }
              goto LAB_000b887c;
            }
          }
          else {
            (*(type_12 *)(*(int *)(var_20 + -0x7d7c) + 0x610c))
                      ((type_2 *)((int)&var_30->pVfs + (int)&var_22->pVfs),&var_28);
            if ((var_27 == (type_4 *)0x0) &&
               (var_27 = var_28, var_28 == (type_4 *)0x0)) {
              var_27 = var_30;
            }
LAB_000b887c:
            if ((int)var_27 <= (int)pVVar5) {
              if (0 < (int)&var_27[-1].pNextBlocked) {
                psStack_128 = (type_4 *)&psStack_f4;
                pcStack_134 = (type_12 *)(*(int *)(var_20 + -0x7d7c) + 0x610c);
                var_16 = *(int *)(var_20 + -0x7fc4);
                var_11 = 0;
                do {
                  var_29 = (*pcStack_134)((int)&var_22->pVdbe + var_11,psStack_128);
                  var_11 = var_11 + var_29;
                  var_25 = (type_4 *)(var_16 + -0x556c);
                  (*pcStack_13c)(&var_21,&FStack_100,(type_4 *)(var_16 + -0x556c),psStack_f4);
                } while (var_11 < (int)&var_27[-1].pNextBlocked);
              }
              var_51 = var_28;
              if (var_28 == (type_4 *)0x0) {
                var_51 = var_30;
              }
              if ((int)var_51 <= (int)pVVar5) {
                var_51 = (type_4 *)((int)var_51 - (int)var_27);
                var_25 = (type_4 *)((int)&var_27->pVfs + (int)&var_22->pVfs);
                pcStack_120 = (type_12 *)(*(int *)(var_20 + -0x7cf4) + 0x7e40);
                function_1((int *)&var_21,&FStack_100,(type_2 *)var_25,(int)var_51);
                if ((var_26 != (type_4 *)0x0) && (var_21 == (type_8 *)0x0)) {
                  var_26 = (type_4 *)&psStack_f4;
                  pcStack_134 = (type_12 *)(*(int *)(var_20 + -0x7d7c) + 0x610c);
                  pcStack_11c = (type_12 *)(*(int *)(var_20 + -0x7cf4) + -0x3854);
                  iStack_118 = *(int *)(var_20 + -0x7fc4) + -0x4c6c;
                  var_11 = 0;
                  var_27 = var_30;
                  while( true ) {
                    psStack_128 = var_26;
                    var_49 = (type_4 **)var_26;
                    var_26 = var_27;
                    var_16 = (*pcStack_134)((type_2 *)((int)&var_27->pVfs + (int)&var_22->pVfs),
                                            var_49);
                    psVar3 = psStack_128;
                    var_27 = (type_4 *)((int)&var_26->pVfs + var_16);
                    var_11 = (int)psStack_f4->aLimit + var_11 + -0x6c;
                    if ((int)var_27 < (int)pVVar5) break;
                    psStack_128 = var_30;
                    var_31 = var_26;
                    var_26 = psVar3;
LAB_000b8a74:
                    puVar17 = (type_2 *)(var_11 + (int)var_22);
                    var_16 = var_11;
                    if (var_30 != var_31) {
                      var_16 = (*pcStack_134)(puVar17,var_26);
                      if ((int)psStack_e4 < (int)psStack_f4) goto LAB_000b8afc;
                      psStack_e4 = psStack_f4;
                      puVar17 = (type_2 *)(var_11 + var_16 + (int)var_22);
                      var_16 = var_11 + var_16;
                    }
                    var_29 = (*pcStack_134)(puVar17,var_26);
                    var_16 = var_16 + var_29;
                    var_25 = psStack_f4;
                    if ((int)pVVar5 < (int)(var_16 + (int)&psStack_f4->pVfs)) goto LAB_000b8afc;
                    (*pcStack_11c)(&var_21,psStack_138,psStack_f4,
                                   (type_2 *)(var_16 + (int)&var_22->pVfs));
                    var_16 = (int)psStack_f4->aLimit + var_16 + -0x6c;
                    FStack_160.rc = (int)var_39;
                    (*pcStack_13c)(&var_21,&FStack_100,iStack_118,psStack_e4);
                    var_25 = (type_4 *)(var_16 + (int)var_22);
                    var_51 = (type_4 *)((int)psStack_128 - var_16);
                    (*pcStack_120)(&var_21,&FStack_100);
                    if (((int)var_27 >= (int)pVVar5) || (var_21 != (type_8 *)0x0))
                    goto LAB_000b84cc;
                  }
                  psStack_114 = var_26;
                  var_26 = psStack_128;
                  (*pcStack_134)((type_2 *)((int)&var_27->pVfs + (int)&var_22->pVfs),psStack_128);
                  psStack_128 = (type_4 *)(var_11 + (int)psStack_f4);
                  var_31 = psStack_114;
                  if ((int)psStack_128 <= (int)var_30) goto LAB_000b8a74;
LAB_000b8afc:
                  var_21 = (type_8 *)0x10b;
                }
                goto LAB_000b84cc;
              }
            }
          }
          var_21 = (type_8 *)0x10b;
          var_37 = var_21;
          goto LAB_000b8260;
        }
        var_25 = (type_4 *)&DAT_00000007;
        FStack_100.var_1 = 0;
        var_51 = (type_4 *)(*(int *)(var_20 + -0x7fc4) + 0xb5c);
        var_32((int *)&var_21,&FStack_100,7,(type_2 *)var_51);
        var_46 = (type_12 *)(*(int *)(var_20 + -0x7d78) + 0x7c);
      }
      else {
        psStack_138 = (type_4 *)&var_39;
        var_39 = (type_4 *)0x0;
        psStack_108 = (type_4 *)0x0;
        psStack_e4 = (type_4 *)0x0;
        var_27 = (type_4 *)
                  ((type_5)*(type_18 *)((int)&var_22->pVfs + 2) * 0x100 +
                   (type_5)*(type_18 *)((int)&var_22->pVfs + 3) & 0xffff);
        var_34 = (type_14 *)0x0;
        var_30 = var_27;
        var_51 = var_27;
        if ((int)var_27 < (int)pVVar5) {
          var_11 = (*(type_12 *)(*(int *)(var_20 + -0x7d7c) + 0x610c))
                             ((type_2 *)((int)&var_27->pVfs + (int)&var_22->pVfs),&psStack_10c);
          var_30 = (type_4 *)((int)&var_27->pVfs + var_11);
          var_51 = psStack_10c;
        }
        psStack_10c = var_51;
        var_51 = (type_4 *)&psStack_10c[-1].pNextBlocked;
        var_26 = (type_4 *)(*(int *)(var_20 + -0x7cf4) + 0x7c34);
        var_33((int *)&var_21,&FStack_100,(type_2 *)&var_22->pVdbe,(int)var_51);
        var_25 = psStack_10c;
        if ((int)psStack_10c < (int)var_27) {
          pcStack_134 = (type_12 *)(*(int *)(var_20 + -0x7d7c) + 0x610c);
          pcStack_120 = (type_12 *)(*(int *)(var_20 + -0x7cf4) + -0x3854);
          pcStack_11c = (type_12 *)(*(int *)(var_20 + -0x7fc4) + -0x4c6c);
          do {
            psStack_128 = var_25;
            var_11 = (*pcStack_134)((type_2 *)((int)&var_25->pVfs + (int)&var_22->pVfs),&var_28);
            psStack_128 = (type_4 *)((int)&psStack_128->pVfs + var_11);
            psStack_e4 = psStack_108;
            (*pcStack_120)(&var_21,psStack_138,var_28,
                           (type_2 *)((int)&psStack_128->pVfs + (int)&var_22->pVfs));
            FStack_160.rc = (int)var_39;
            (*pcStack_13c)(&var_21,&FStack_100,pcStack_11c,psStack_e4);
            var_25 = (type_4 *)((int)&var_28->pVfs + (int)&psStack_128->pVfs);
            psVar3 = var_27;
            if ((int)var_30 < (int)pVVar5) {
              psStack_128 = var_25;
              var_11 = (*pcStack_134)((type_2 *)((int)&var_30->pVfs + (int)&var_22->pVfs),
                                      &psStack_f4);
              var_30 = (type_4 *)((int)&var_30->pVfs + var_11);
              var_25 = psStack_128;
              psVar3 = (type_4 *)((int)&psStack_f4->pVfs + (int)&psStack_10c->pVfs);
            }
            var_51 = (type_4 *)((int)psVar3 - (int)var_25);
            psStack_10c = psVar3;
            (*(type_12 *)var_26)
                      (&var_21,&FStack_100,(type_2 *)((int)&var_25->pVfs + (int)&var_22->pVfs));
            var_25 = psStack_10c;
            if ((int)var_27 <= (int)psStack_10c) goto LAB_000b84cc;
            psStack_128 = psStack_10c;
            var_11 = (*pcStack_134)((type_2 *)((int)&psStack_10c->pVfs + (int)&var_22->pVfs),
                                    &psStack_108);
            var_25 = (type_4 *)((int)&psStack_128->pVfs + var_11);
          } while ((int)var_25 < (int)var_27);
          var_11 = *(int *)(var_20 + -0x7d78);
        }
        else {
LAB_000b84cc:
          var_11 = *(int *)(var_20 + -0x7d78);
        }
        var_46 = (type_12 *)(var_11 + 0x7c);
        (*var_46)(psStack_138);
      }
      goto LAB_000b82e8;
    }
    if ((var_23 == 0) &&
       (pcStack_13c = (type_12 *)(*(int *)(var_20 + -0x7cf4) + 0x7b38), var_24 == 1)) {
      var_25 = (type_4 *)(*(int *)(var_20 + -0x7fc4) + -0x4cc4);
      var_5((int *)&var_21,&FStack_100,(char *)var_25);
      if (var_16 < 0) {
LAB_000b8528:
        var_11 = *(int *)(var_20 + -0x7d7c);
        var_39 = (type_4 *)&psStack_f4;
        psStack_e4 = (type_4 *)0x0;
        var_34 = (type_14 *)0x0;
        psStack_dc = (type_15 *)0x0;
        iStack_d4 = 0;
        psStack_d0 = (type_4 *)0x0;
        uStack_cc = 0;
        psStack_d8 = psStack_138;
        psStack_138 = (type_4 *)&var_39;
        psStack_f4 = var_22;
        pVStack_f0 = pVVar5;
        (*(type_12 *)(var_11 + 0x687c))();
        var_37 = var_21;
        if (var_34 != (type_14 *)0x0) goto LAB_000b8260;
        var_16 = *(int *)(var_20 + -0x7fc4);
        do {
          FStack_160.nPhrase = uStack_cc;
          FStack_160.rc = (int)psStack_d0;
          var_25 = (type_4 *)(var_16 + -0x4cac);
          var_51 = psStack_d8;
          (*pcStack_13c)(&var_21,&FStack_100);
          (*(type_12 *)(var_11 + 0x687c))(psStack_138);
        } while (var_34 == (type_14 *)0x0);
        var_46 = (type_12 *)(*(int *)(var_20 + -0x7d78) + 0x7c);
      }
      else {
        var_37 = var_21;
        if ((int)pVVar5 < 1) goto LAB_000b8260;
        var_16 = *(int *)(var_20 + -0x7de0);
        var_29 = *(int *)(var_20 + -0x7fc8);
        var_36 = *(int *)(var_20 + -0x7fc4);
        var_11 = 0;
        var_27 = (type_4 *)(*(int *)(var_20 + -0x7fc8) + 0x30a8);
        psStack_138 = (type_4 *)&var_39;
        do {
          var_51 = var_27;
          var_35 = (*(type_12 *)(var_16 + -0x80))((type_2 *)((int)&var_22->pVfs + var_11),psStack_138);
          var_11 = var_11 + var_35;
          FStack_160.rc = (int)psStack_e4;
          var_25 = (type_4 *)(var_29 + 0x2db4);
          (*pcStack_13c)(&var_21,&FStack_100);
          var_27 = (type_4 *)(var_36 + -0x4854);
        } while (var_11 < (int)pVVar5);
        var_46 = (type_12 *)(*(int *)(var_20 + -0x7d78) + 0x7c);
      }
    }
    else {
      pcStack_13c = (type_12 *)(*(int *)(var_20 + -0x7cf4) + 0x7b38);
      var_25 = (type_4 *)(*(int *)(var_20 + -0x7fc4) + -0x4cb8);
      var_5((int *)&var_21,&FStack_100,(char *)var_25);
      if (var_16 < 0) goto LAB_000b8528;
      var_51 = (type_4 *)&var_39;
      var_25 = (type_4 *)0x0;
      var_39 = (type_4 *)0x0;
      var_37 = (type_8 *)(*(type_12 *)(*(int *)(var_20 + -0x7d68) + 0x52ac))(var_22,pVVar5);
      if (var_37 == (type_8 *)0x0) {
        psStack_138 = var_39;
        if (0 < var_39->nDb) {
          var_38 = &var_39->mDbFlags;
          var_11 = *(int *)(var_20 + -0x7fc4);
          var_27 = (type_4 *)0x0;
          pcStack_134 = (type_12 *)(*(int *)(var_20 + -0x7fc4) + -0x4ca0);
          var_30 = (type_4 *)(*(int *)(var_20 + -0x7fc8) + 0x1300);
          do {
            FStack_160.nPhrase = var_38[1];
            FStack_160.rc = *var_38;
            var_51 = var_27;
            (*pcStack_13c)(&var_21,&FStack_100,pcStack_134);
            if (0 < (int)var_38[1]) {
              var_16 = 0;
              var_29 = 0;
              do {
                puVar28 = (type_7 *)(var_38[2] + var_29);
                var_16 = var_16 + 1;
                var_29 = var_29 + 0xc;
                FStack_160.nPhrase = puVar28[2];
                var_51 = (type_4 *)*puVar28;
                FStack_160.rc = puVar28[1];
                (*pcStack_13c)(&var_21,&FStack_100,var_11 + -0x4c84);
              } while (var_16 < (int)var_38[1]);
            }
            var_27 = (type_4 *)((int)&var_27->pVfs + 1);
            var_38 = var_38 + 3;
            var_25 = var_30;
            (*pcStack_13c)(&var_21,&FStack_100);
          } while ((int)var_27 < psStack_138->nDb);
          psStack_138 = var_39;
          var_37 = var_21;
          if (var_39 == (type_4 *)0x0) goto LAB_000b8260;
        }
        var_27 = (type_4 *)((int)&((type_4 *)var_39->pVfs)[-1].pNextBlocked + 3);
        var_39->pVfs = (type_19 *)var_27;
        psStack_138 = var_39;
        var_37 = var_21;
        if ((int)var_27 < 1) {
          (*(type_12 *)(*(int *)(var_20 + -0x7d7c) + 0x380c))(var_39);
          var_46 = (type_12 *)(*(int *)(var_20 + -0x7d78) + 0x7c);
          goto LAB_000b82e8;
        }
      }
LAB_000b8260:
      var_21 = var_37;
      var_46 = (type_12 *)(*(int *)(var_20 + -0x7d78) + 0x7c);
    }
    (**(type_12 **)(var_20 + -0x7fb4))(var_22);
    if (var_21 == (type_8 *)0x0) goto LAB_000b8300;
LAB_000b8280:
    var_37 = var_21;
    (**(type_12 **)(var_20 + -0x7f4c))(pvVar15);
  }
  else {
LAB_000b82dc:
    var_22 = (type_4 *)0x0;
    var_46 = (type_12 *)(*(int *)(var_20 + -0x7d78) + 0x7c);
LAB_000b82e8:
    (**(type_12 **)(var_20 + -0x7fb4))(var_22);
    if (var_21 != (type_8 *)0x0) goto LAB_000b8280;
LAB_000b8300:
    var_37 = (type_8 *)((int)pvVar15 + 0x14);
    FStack_160.nPhrase = 0xffffffff;
    FStack_160.rc = 1;
    var_25 = (type_4 *)FStack_100.p;
    var_51 = (type_4 *)FStack_100.var_1;
    (*(type_12 *)(*(int *)(var_20 + -0x7d60) + -0x13c0))(pvVar15);
  }
  pFVar16 = &FStack_100;
  (*var_46)();
  if (var_40 == *piStack_130) {
    return *piStack_130;
  }
  var_41 = *(type_12 **)(var_20 + -0x7b28);
  pcVar39 = sqlite3Fts5Mprintf;
  (*var_41)();
  var_45 = var_41 + 0xdfda4;
  var_50 = *(int **)(var_41 + 0xd82a8);
  var_44 = *var_50;
  pcStack_188 = var_45;
  pFStack_174 = &FStack_100;
  pcStack_170 = var_46;
  pcStack_16c = pcVar39;
  FStack_160.pConfig = (type_9 *)var_25;
  FStack_160.zErr = (char *)var_51;
  if (pFVar16->p == (type_2 *)0x0) {
    ap = &FStack_160;
    pFStack_180 = ap;
    var_43 = var_42((char *)var_37,ap);
    var_45 = pcStack_188;
    var_37 = ap;
    if (var_43 == (char *)0x0) {
      pFVar16->p = (type_2 *)0x7;
    }
  }
  else {
    var_43 = (char *)0x0;
  }
  if (var_44 == *var_50) {
    return (int)var_43;
  }
  var_46 = *(type_12 **)(var_45 + -0x7b28);
  var_11 = var_44;
  (*var_46)();
  var_48 = &psStack_190;
  puVar28 = *(type_7 **)(var_46 + 0xd8208);
  var_47 = (type_4 **)*puVar28;
  var_49 = var_47;
  psStack_190 = var_25;
  psStack_18c = var_51;
  if (*(int *)(var_11 + 8) == 0) {
    var_43 = var_42((char *)var_37,var_48);
    *(char **)(var_11 + 4) = var_43;
    *(type_7 *)(var_11 + 8) = 1;
    var_49 = var_48;
  }
  var_48 = (type_4 **)*puVar28;
  if (var_47 == var_48) {
    return (int)var_48;
  }
  var_46 = *(type_12 **)(var_46 + 0xd81dc);
  (*var_46)();
  var_11 = (*(type_12 *)(*(int *)(var_46 + 0xd7f04) + 0x3fb0))(&var_37->rc,var_25,var_51);
  if (var_37->rc == 0) {
    pFVar23 = var_37->pConfig;
    (*(type_12 *)(*(int *)(var_46 + 0xd7e8c) + 0x6ea8))(var_11);
    var_16 = pFVar23->nCol;
    if (var_16 < 1) {
      var_29 = *(int *)(var_46 + 0xd7ca8);
      if (var_16 != 0) {
        var_36 = 0;
LAB_000b8dcc:
        var_51 = (type_4 *)0x0;
        if (var_49 != (type_4 **)0x0) {
          var_51 = *var_49;
        }
        var_16 = (**(type_12 **)(var_46 + 0xd7ed4))();
        if ((var_16 != 0) ||
           (var_50 = (int *)(*(type_12 *)(*(int *)(var_46 + 0xd7ef4) + 0x354))(var_49),
           var_50 == (int *)0x0)) {
          var_46 = *(type_12 **)(var_46 + 0xd7cb8);
          var_37->rc = 7;
          (*var_46)(var_11);
          goto LAB_000b8d20;
        }
        var_52 = var_50 + 1;
        if (0 < (int)var_51) {
          if (var_50[1] == var_36) goto LAB_000b8e6c;
          var_22 = (type_4 *)0x0;
          if (var_50[1] <= var_36) {
            var_22 = (type_4 *)0x0;
            var_53 = var_50 + 2;
            do {
              var_52 = var_53;
              var_22 = (type_4 *)((int)&var_22->pVfs + 1);
              if (var_51 == var_22) goto LAB_000b8e64;
              if (*var_52 == var_36) goto LAB_000b8e6c;
              var_53 = var_52 + 1;
            } while (*var_52 <= var_36);
          }
          var_53 = var_50 + (int)var_51;
          var_25 = var_51;
          do {
            var_25 = (type_4 *)((int)&var_25[-1].pNextBlocked + 3);
            var_53[1] = *var_53;
            var_53 = var_53 + -1;
          } while ((int)var_22 < (int)var_25);
        }
LAB_000b8e64:
        *var_52 = var_36;
        *var_50 = (int)((int)&var_51->pVfs + 1);
LAB_000b8e6c:
        (**(type_12 **)(var_46 + 0xd7cb8))(var_11);
        return (int)var_50;
      }
    }
    else {
      var_36 = 0;
      var_54 = pFVar23->azCol;
      var_45 = (type_12 *)(*(int *)(var_46 + 0xd7ef4) + 0x20c8);
      do {
        var_43 = *var_54;
        var_54 = var_54 + 1;
        var_29 = var_11;
        if (var_43 == (char *)0x0) {
joined_r0x000b8d9c:
          if (var_29 == 0) goto LAB_000b8dcc;
        }
        else if (var_11 != 0) {
          var_29 = (*var_45)(var_43,var_11);
          goto joined_r0x000b8d9c;
        }
        var_36 = var_36 + 1;
        var_29 = *(int *)(var_46 + 0xd7ca8);
      } while (var_36 != var_16);
    }
    var_46 = *(type_12 **)(var_46 + 0xd7cb8);
    var_55(var_37,(char *)(var_29 + -0x4c3c),var_11);
    (*var_46)(var_11);
  }
  else {
    var_46 = *(type_12 **)(var_46 + 0xd7cb8);
  }
LAB_000b8d20:
  (*var_46)(var_49);
  return 0;
}


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

/* WARNING: Type propagation algorithm not settling */

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

{
  undefined *puVar1;
  undefined *puVar2;
  byte *******pppppppbVar3;
  uint uVar4;
  int iVar5;
  byte *******pppppppbVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  undefined4 *puVar10;
  byte *******pppppppbVar11;
  int iVar12;
  byte ****ppppbVar13;
  uint uVar14;
  byte *pbVar15;
  byte ******ppppppbVar16;
  byte *******pppppppbVar17;
  byte *******pppppppbVar18;
  byte *******pppppppbVar19;
  byte ******ppppppbVar20;
  byte *****pppppbVar21;
  byte ******ppppppbVar22;
  undefined *puVar23;
  undefined *unaff_s0;
  int *piVar24;
  byte ******ppppppbVar25;
  code *pcVar26;
  byte *******unaff_s3;
  byte *******unaff_s4;
  int *unaff_s5;
  byte *pbVar27;
  byte *******unaff_s6;
  byte *******unaff_s7;
  undefined *puVar28;
  code *pcVar29;
  code *pcVar30;
  byte *******pppppppbVar31;
  int iVar32;
  int iVar33;
  byte *pbVar34;
  undefined4 uVar35;
  code *pcVar36;
  undefined8 uVar37;
  byte *******pppppppbStack_190;
  byte *******pppppppbStack_18c;
  code *pcStack_188;
  byte *******pppppppbStack_180;
  int iStack_17c;
  byte *******pppppppbStack_174;
  code *pcStack_170;
  code *pcStack_16c;
  byte *******pppppppbStack_160;
  byte *******pppppppbStack_15c;
  byte *******local_158;
  byte ******local_154;
  byte *******local_150;
  undefined *local_148;
  code *local_13c;
  byte *******local_138;
  code *local_134;
  int *local_130;
  byte *******local_12c;
  byte *******local_128;
  byte *******local_124;
  code *local_120;
  code *local_11c;
  int local_118;
  byte *******local_114;
  byte *******local_110;
  byte *******local_10c;
  byte *******local_108;
  byte *******local_104;
  byte *******local_100;
  byte *******local_fc;
  undefined4 local_f8;
  byte *******local_f4;
  int local_f0;
  byte *******local_e8;
  byte *******local_e4;
  int local_e0;
  undefined4 local_dc;
  byte *******local_d8;
  undefined4 local_d4;
  byte *******local_d0;
  byte ******local_cc;
  byte *******local_c4;
  undefined *local_c0;
  undefined4 local_bc;
  undefined4 local_b8;
  byte *******local_b4;
  byte *******local_b0;
  int *local_ac;
  byte *******local_a8;
  byte *******local_a4;
  byte *******local_a0;
  undefined4 local_9c;
  byte *******local_88;
  uint local_84;
  byte *******local_48;
  int local_44;
  byte *******local_40;
  uint local_3c;
  byte *******local_38;
  int local_34;
  int local_2c;
  
  puVar2 = PTR___stack_chk_guard_00190e24;
  puVar28 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
  local_3c = 0;
  local_40 = (byte *******)0x0;
  local_2c = *(int *)PTR___stack_chk_guard_00190e24;
  pppppppbVar31 = (byte *******)0x0;
  pppppppbVar6 = param_3;
  pppppppbVar19 = param_4;
  local_b4 = unaff_s3;
  local_b0 = unaff_s4;
  if (0 < (int)param_4) {
    pcVar26 = (code *)(PTR_LAB_00190b40 + -0x80);
    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
    pppppppbVar31 = (byte *******)(*pcVar26)(param_3,&local_40);
    unaff_s0 = PTR_LAB_00190c2c;
    pppppppbVar6 = (byte *******)(puVar23 + -0x4cdc);
    local_84 = local_3c;
    local_88 = local_40;
    pcVar30 = (code *)(PTR_LAB_00190c2c + 0x7b38);
    FUN_000b7b38(param_1,param_2);
    puVar1 = PTR_LAB_00190ba4;
    puVar23 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
    local_b4 = param_3;
    local_b0 = param_4;
    if ((int)pppppppbVar31 < (int)param_4) {
      unaff_s5 = &local_44;
      unaff_s6 = (byte *******)&local_48;
      unaff_s7 = (byte *******)&local_38;
      pcVar29 = (code *)(PTR_LAB_00190ba4 + 0x61f0);
      pppppppbVar18 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6390);
      pppppppbVar11 = (byte *******)(PTR_LAB_00190958 + 0x30a8);
      pppppppbVar17 = (byte *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x556c);
      do {
        iVar12 = (*pcVar29)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s6,unaff_s5);
        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);
        pppppppbVar6 = (byte *******)(puVar23 + -0x4cd0);
        local_88 = pppppppbVar11;
        if (local_44 != 0) {
          local_88 = pppppppbVar18;
        }
        pppppppbVar19 = local_48;
        (*pcVar30)(param_1,param_2);
        pppppppbVar3 = local_48;
        if ((int)param_4 - (int)pppppppbVar31 <= (int)local_48) {
          pppppppbVar3 = (byte *******)((int)param_4 - (int)pppppppbVar31);
        }
        if (0 < (int)pppppppbVar3) {
          unaff_s0 = (undefined *)0x0;
          do {
            iVar12 = (*(code *)(puVar1 + 0x610c))
                               ((byte *)((int)param_3 + (int)(unaff_s0 + (int)pppppppbVar31)),
                                unaff_s7);
            unaff_s0 = unaff_s0 + iVar12;
            pppppppbVar6 = pppppppbVar17;
            pppppppbVar19 = local_38;
            (*pcVar30)(param_1,param_2);
          } while ((int)unaff_s0 < (int)pppppppbVar3);
          pppppppbVar31 = (byte *******)((int)pppppppbVar31 + (int)unaff_s0);
        }
        if ((int)param_4 <= (int)pppppppbVar31) break;
        iVar12 = (*pcVar26)((byte *)((int)param_3 + (int)pppppppbVar31),unaff_s7);
        pppppppbVar31 = (byte *******)((int)pppppppbVar31 + iVar12);
        local_84 = local_3c + local_34;
        pppppppbVar19 =
             (byte *******)((byte *)((int)local_40 + (int)local_38) + (local_84 < local_3c));
        pppppppbVar6 = (byte *******)(puVar28 + -0x4cdc);
        local_88 = pppppppbVar19;
        local_40 = pppppppbVar19;
        local_3c = local_84;
        (*pcVar30)(param_1,param_2);
      } while ((int)pppppppbVar31 < (int)param_4);
    }
  }
  if (local_2c == *(int *)puVar2) {
    return pppppppbVar31;
  }
  uVar35 = 0xb80e8;
  iVar12 = local_2c;
  puVar28 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  local_148 = puVar28 + 0xe0838;
  local_130 = *(int **)(puVar28 + 0xd8d3c);
  local_110 = (byte *******)0x0;
  local_c4 = (byte *******)*local_130;
  iVar32 = *(int *)(*(int *)(iVar12 + 4) + 8);
  local_100 = (byte *******)0x0;
  local_fc = (byte *******)0x0;
  local_f8 = 0;
  pppppppbVar18 = pppppppbVar6;
  local_c0 = unaff_s0;
  local_bc = param_1;
  local_b8 = param_2;
  local_ac = unaff_s5;
  local_a8 = unaff_s6;
  local_a4 = unaff_s7;
  local_a0 = pppppppbVar31;
  local_9c = uVar35;
  uVar37 = (*(code *)(*(int *)(puVar28 + 0xd8ac0) + 0x7f68))(*pppppppbVar6);
  uVar4 = (uint)((ulonglong)uVar37 >> 0x20);
  uVar14 = (uint)uVar37;
  iVar5 = (*(code *)(*(int *)(local_148 + -0x7d60) + 0x6c88))(pppppppbVar6[1],1);
  uVar35 = (**(code **)(local_148 + -0x7f64))(pppppppbVar6[1]);
  if (local_110 == (byte *******)0x0) {
    pppppppbVar19 = (byte *******)(iVar5 + 8);
    pppppppbVar18 = (byte *******)((int)pppppppbVar19 >> 0x1f);
    pppppppbVar6 = (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x51c0))(&local_110);
    if (pppppppbVar6 == (byte *******)0x0) goto LAB_000b82dc;
    if (0 < iVar5) {
      (**(code **)(local_148 + -0x7af4))(pppppppbVar6,uVar35,iVar5);
    }
    pppppppbVar31 = (byte *******)((uVar4 << 0xb) >> 0x10);
    local_138 = (byte *******)(uVar14 & 0x7fffffff);
    iVar33 = uVar4 << 0x1b;
    if (pppppppbVar31 != (byte *******)0x0) {
      local_154 = (byte ******)((uVar4 & 0xf) << 1 | uVar14 >> 0x1f);
      local_158 = pppppppbVar31;
      local_150 = local_138;
      if (iVar33 < 0) {
        local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);
        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c44);
        pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);
        FUN_000b7b38(&local_110,&local_100);
        goto LAB_000b8528;
      }
      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);
      pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);
      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4c60);
      FUN_000b7b38(&local_110,&local_100);
      if (iVar32 == 0) {
        local_138 = (byte *******)&local_e8;
        local_e8 = (byte *******)0x0;
        local_104 = (byte *******)0x0;
        local_e4 = (byte *******)0x0;
        local_e0 = 0;
        if (3 < iVar5) {
          local_12c = (byte *******)
                      ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +
                       (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);
          local_124 = (byte *******)(uint)((int)local_12c < iVar5);
          pppppppbVar31 =
               (byte *******)
               ((uint)*(byte *)pppppppbVar6 * 0x100 + (uint)*(byte *)((int)pppppppbVar6 + 1) &
               0xffff);
          if (local_124 == (byte *******)0x0) {
            if ((int)local_12c <= iVar5) {
              if (pppppppbVar31 == (byte *******)0x0) {
                pppppppbVar31 = local_12c;
              }
              goto LAB_000b887c;
            }
          }
          else {
            (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))
                      ((byte *)((int)pppppppbVar6 + (int)local_12c),&local_104);
            if ((pppppppbVar31 == (byte *******)0x0) &&
               (pppppppbVar31 = local_104, local_104 == (byte *******)0x0)) {
              pppppppbVar31 = local_12c;
            }
LAB_000b887c:
            if ((int)pppppppbVar31 <= iVar5) {
              if (0 < (int)(pppppppbVar31 + -1)) {
                local_128 = (byte *******)&local_f4;
                local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);
                iVar33 = *(int *)(local_148 + -0x7fc4);
                iVar32 = 0;
                do {
                  iVar7 = (*local_134)((byte *)((int)pppppppbVar6 + iVar32 + 4),local_128);
                  iVar32 = iVar32 + iVar7;
                  pppppppbVar18 = (byte *******)(iVar33 + -0x556c);
                  (*local_13c)(&local_110,&local_100,(byte *******)(iVar33 + -0x556c),local_f4);
                } while (iVar32 < (int)(pppppppbVar31 + -1));
              }
              pppppppbVar19 = local_104;
              if (local_104 == (byte *******)0x0) {
                pppppppbVar19 = local_12c;
              }
              if ((int)pppppppbVar19 <= iVar5) {
                pppppppbVar19 = (byte *******)((int)pppppppbVar19 - (int)pppppppbVar31);
                pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pppppppbVar31);
                local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7e40);
                MASKED(&local_110,&local_100);
                if ((local_124 != (byte *******)0x0) && (local_110 == (byte *******)0x0)) {
                  local_124 = (byte *******)&local_f4;
                  local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);
                  local_11c = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);
                  local_118 = *(int *)(local_148 + -0x7fc4) + -0x4c6c;
                  pbVar27 = (byte *)0x0;
                  pppppppbVar31 = local_12c;
                  while( true ) {
                    local_128 = local_124;
                    pppppppbVar11 = local_124;
                    local_124 = pppppppbVar31;
                    iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),
                                          pppppppbVar11);
                    pppppppbVar11 = local_128;
                    pppppppbVar31 = (byte *******)((int)local_124 + iVar32);
                    pbVar27 = pbVar27 + (int)local_f4;
                    if ((int)pppppppbVar31 < iVar5) break;
                    local_128 = local_12c;
                    pppppppbVar17 = local_124;
                    local_124 = pppppppbVar11;
LAB_000b8a74:
                    pbVar15 = (byte *)((int)pppppppbVar6 + (int)pbVar27);
                    pbVar34 = pbVar27;
                    if (local_12c != pppppppbVar17) {
                      iVar32 = (*local_134)(pbVar15,local_124);
                      if ((int)local_e4 < (int)local_f4) goto LAB_000b8afc;
                      local_e4 = local_f4;
                      pbVar15 = (byte *)((int)pppppppbVar6 + (int)(pbVar27 + iVar32));
                      pbVar34 = pbVar27 + iVar32;
                    }
                    iVar32 = (*local_134)(pbVar15,local_124);
                    pbVar34 = pbVar34 + iVar32;
                    pppppppbVar18 = local_f4;
                    if (iVar5 < (int)((int)local_f4 + (int)pbVar34)) goto LAB_000b8afc;
                    (*local_11c)(&local_110,local_138,local_f4,
                                 (byte *)((int)pppppppbVar6 + (int)pbVar34));
                    pbVar34 = pbVar34 + (int)local_f4;
                    local_158 = local_e8;
                    (*local_13c)(&local_110,&local_100,local_118,local_e4);
                    pppppppbVar18 = (byte *******)((int)pppppppbVar6 + (int)pbVar34);
                    pppppppbVar19 = (byte *******)((int)local_128 - (int)pbVar34);
                    (*local_120)(&local_110,&local_100);
                    if (((int)pppppppbVar31 >= iVar5) || (local_110 != (byte *******)0x0))
                    goto LAB_000b84cc;
                  }
                  local_114 = local_124;
                  local_124 = local_128;
                  (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),local_128);
                  local_128 = (byte *******)(pbVar27 + (int)local_f4);
                  pppppppbVar17 = local_114;
                  if ((int)local_128 <= (int)local_12c) goto LAB_000b8a74;
LAB_000b8afc:
                  local_110 = (byte *******)0x10b;
                }
                goto LAB_000b84cc;
              }
            }
          }
          local_110 = (byte *******)0x10b;
          pppppppbVar31 = local_110;
          goto LAB_000b8260;
        }
        pppppppbVar18 = (byte *******)&DAT_00000007;
        local_fc = (byte *******)0x0;
        pppppppbVar19 = (byte *******)(*(int *)(local_148 + -0x7fc4) + 0xb5c);
        FUN_000ac7ac(&local_110,&local_100);
        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
      }
      else {
        local_138 = (byte *******)&local_e8;
        local_e8 = (byte *******)0x0;
        local_108 = (byte *******)0x0;
        local_e4 = (byte *******)0x0;
        pppppppbVar31 =
             (byte *******)
             ((uint)*(byte *)((int)pppppppbVar6 + 2) * 0x100 +
              (uint)*(byte *)((int)pppppppbVar6 + 3) & 0xffff);
        local_e0 = 0;
        local_12c = pppppppbVar31;
        pppppppbVar19 = pppppppbVar31;
        if ((int)pppppppbVar31 < iVar5) {
          iVar32 = (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x610c))
                             ((byte *)((int)pppppppbVar6 + (int)pppppppbVar31),&local_10c);
          local_12c = (byte *******)((int)pppppppbVar31 + iVar32);
          pppppppbVar19 = local_10c;
        }
        local_10c = pppppppbVar19;
        pppppppbVar19 = local_10c + -1;
        local_124 = (byte *******)(*(int *)(local_148 + -0x7cf4) + 0x7c34);
        FUN_000b7c34(&local_110,&local_100,pppppppbVar6 + 1);
        pppppppbVar18 = local_10c;
        if ((int)local_10c < (int)pppppppbVar31) {
          local_134 = (code *)(*(int *)(local_148 + -0x7d7c) + 0x610c);
          local_120 = (code *)(*(int *)(local_148 + -0x7cf4) + -0x3854);
          local_11c = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4c6c);
          do {
            local_128 = pppppppbVar18;
            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)pppppppbVar18),&local_104);
            local_128 = (byte *******)((int)local_128 + iVar32);
            local_e4 = local_108;
            (*local_120)(&local_110,local_138,local_104,(byte *)((int)pppppppbVar6 + (int)local_128)
                        );
            local_158 = local_e8;
            (*local_13c)(&local_110,&local_100,local_11c,local_e4);
            pppppppbVar18 = (byte *******)((int)local_128 + (int)local_104);
            pppppppbVar11 = pppppppbVar31;
            if ((int)local_12c < iVar5) {
              local_128 = pppppppbVar18;
              iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_12c),&local_f4);
              local_12c = (byte *******)((int)local_12c + iVar32);
              pppppppbVar18 = local_128;
              pppppppbVar11 = (byte *******)((int)local_10c + (int)local_f4);
            }
            pppppppbVar19 = (byte *******)((int)pppppppbVar11 - (int)pppppppbVar18);
            local_10c = pppppppbVar11;
            (*(code *)local_124)
                      (&local_110,&local_100,(byte *)((int)pppppppbVar6 + (int)pppppppbVar18));
            pppppppbVar18 = local_10c;
            if ((int)pppppppbVar31 <= (int)local_10c) goto LAB_000b84cc;
            local_128 = local_10c;
            iVar32 = (*local_134)((byte *)((int)pppppppbVar6 + (int)local_10c),&local_108);
            pppppppbVar18 = (byte *******)((int)local_128 + iVar32);
          } while ((int)pppppppbVar18 < (int)pppppppbVar31);
          iVar5 = *(int *)(local_148 + -0x7d78);
        }
        else {
LAB_000b84cc:
          iVar5 = *(int *)(local_148 + -0x7d78);
        }
        pcVar26 = (code *)(iVar5 + 0x7c);
        (*pcVar26)(local_138);
      }
      goto LAB_000b82e8;
    }
    if ((uVar4 == 0) && (local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38), uVar14 == 1))
    {
      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cc4);
      FUN_000b7b38(&local_110,&local_100);
      if (iVar33 < 0) {
LAB_000b8528:
        iVar32 = *(int *)(local_148 + -0x7d7c);
        local_e8 = (byte *******)&local_f4;
        local_e4 = (byte *******)0x0;
        local_e0 = 0;
        local_dc = 0;
        local_d4 = 0;
        local_d0 = (byte *******)0x0;
        local_cc = (byte ******)0x0;
        local_d8 = local_138;
        local_138 = (byte *******)&local_e8;
        local_f4 = pppppppbVar6;
        local_f0 = iVar5;
        (*(code *)(iVar32 + 0x687c))();
        pppppppbVar31 = local_110;
        if (local_e0 != 0) goto LAB_000b8260;
        iVar5 = *(int *)(local_148 + -0x7fc4);
        do {
          local_154 = local_cc;
          local_158 = local_d0;
          pppppppbVar18 = (byte *******)(iVar5 + -0x4cac);
          pppppppbVar19 = local_d8;
          (*local_13c)(&local_110,&local_100);
          (*(code *)(iVar32 + 0x687c))(local_138);
        } while (local_e0 == 0);
        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
      }
      else {
        pppppppbVar31 = local_110;
        if (iVar5 < 1) goto LAB_000b8260;
        iVar33 = *(int *)(local_148 + -0x7de0);
        iVar7 = *(int *)(local_148 + -0x7fc8);
        iVar8 = *(int *)(local_148 + -0x7fc4);
        iVar32 = 0;
        pppppppbVar31 = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x30a8);
        local_138 = (byte *******)&local_e8;
        do {
          pppppppbVar19 = pppppppbVar31;
          iVar9 = (*(code *)(iVar33 + -0x80))((byte *)((int)pppppppbVar6 + iVar32),local_138);
          iVar32 = iVar32 + iVar9;
          local_158 = local_e4;
          pppppppbVar18 = (byte *******)(iVar7 + 0x2db4);
          (*local_13c)(&local_110,&local_100);
          pppppppbVar31 = (byte *******)(iVar8 + -0x4854);
        } while (iVar32 < iVar5);
        pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
      }
    }
    else {
      local_13c = (code *)(*(int *)(local_148 + -0x7cf4) + 0x7b38);
      pppppppbVar18 = (byte *******)(*(int *)(local_148 + -0x7fc4) + -0x4cb8);
      FUN_000b7b38(&local_110,&local_100);
      if (iVar33 < 0) goto LAB_000b8528;
      pppppppbVar19 = (byte *******)&local_e8;
      pppppppbVar18 = (byte *******)0x0;
      local_e8 = (byte *******)0x0;
      pppppppbVar31 =
           (byte *******)(*(code *)(*(int *)(local_148 + -0x7d68) + 0x52ac))(pppppppbVar6,iVar5);
      if (pppppppbVar31 == (byte *******)0x0) {
        local_138 = local_e8;
        if (0 < (int)local_e8[5]) {
          pppppppbVar31 = local_e8 + 6;
          iVar5 = *(int *)(local_148 + -0x7fc4);
          pppppppbVar11 = (byte *******)0x0;
          local_134 = (code *)(*(int *)(local_148 + -0x7fc4) + -0x4ca0);
          local_12c = (byte *******)(*(int *)(local_148 + -0x7fc8) + 0x1300);
          do {
            local_154 = pppppppbVar31[1];
            local_158 = (byte *******)*pppppppbVar31;
            pppppppbVar19 = pppppppbVar11;
            (*local_13c)(&local_110,&local_100,local_134);
            if (0 < (int)pppppppbVar31[1]) {
              iVar32 = 0;
              iVar33 = 0;
              do {
                puVar10 = (undefined4 *)((int)pppppppbVar31[2] + iVar33);
                iVar32 = iVar32 + 1;
                iVar33 = iVar33 + 0xc;
                local_154 = (byte ******)puVar10[2];
                pppppppbVar19 = (byte *******)*puVar10;
                local_158 = (byte *******)puVar10[1];
                (*local_13c)(&local_110,&local_100,iVar5 + -0x4c84);
              } while (iVar32 < (int)pppppppbVar31[1]);
            }
            pppppppbVar11 = (byte *******)((int)pppppppbVar11 + 1);
            pppppppbVar31 = pppppppbVar31 + 3;
            pppppppbVar18 = local_12c;
            (*local_13c)(&local_110,&local_100);
          } while ((int)pppppppbVar11 < (int)local_138[5]);
          local_138 = local_e8;
          pppppppbVar31 = local_110;
          if (local_e8 == (byte *******)0x0) goto LAB_000b8260;
        }
        ppppppbVar22 = *local_e8;
        *local_e8 = (byte ******)((int)ppppppbVar22 + -1);
        local_138 = local_e8;
        pppppppbVar31 = local_110;
        if ((int)ppppppbVar22 + -1 < 1) {
          (*(code *)(*(int *)(local_148 + -0x7d7c) + 0x380c))(local_e8);
          pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
          goto LAB_000b82e8;
        }
      }
LAB_000b8260:
      local_110 = pppppppbVar31;
      pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
    }
    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);
    if (local_110 == (byte *******)0x0) goto LAB_000b8300;
LAB_000b8280:
    pppppppbVar6 = local_110;
    (**(code **)(local_148 + -0x7f4c))(iVar12);
  }
  else {
LAB_000b82dc:
    pppppppbVar6 = (byte *******)0x0;
    pcVar26 = (code *)(*(int *)(local_148 + -0x7d78) + 0x7c);
LAB_000b82e8:
    (**(code **)(local_148 + -0x7fb4))(pppppppbVar6);
    if (local_110 != (byte *******)0x0) goto LAB_000b8280;
LAB_000b8300:
    pppppppbVar6 = (byte *******)(iVar12 + 0x14);
    local_154 = (byte ******)0xffffffff;
    local_158 = (byte *******)0x1;
    pppppppbVar18 = local_100;
    pppppppbVar19 = local_fc;
    (*(code *)(*(int *)(local_148 + -0x7d60) + -0x13c0))(iVar12);
  }
  pppppppbVar31 = (byte *******)&local_100;
  (*pcVar26)();
  if (local_c4 == (byte *******)*local_130) {
    return (byte *******)*local_130;
  }
  pcVar29 = *(code **)(local_148 + -0x7b28);
  pcVar36 = FUN_000b8b7c;
  (*pcVar29)();
  pcVar30 = pcVar29 + 0xdfda4;
  piVar24 = *(int **)(pcVar29 + 0xd82a8);
  iStack_17c = *piVar24;
  pcStack_188 = pcVar30;
  pppppppbStack_174 = (byte *******)&local_100;
  pcStack_170 = pcVar26;
  pcStack_16c = pcVar36;
  pppppppbStack_160 = pppppppbVar18;
  pppppppbStack_15c = pppppppbVar19;
  if (*pppppppbVar31 == (byte ******)0x0) {
    pppppppbVar17 = (byte *******)&pppppppbStack_160;
    pppppppbStack_180 = pppppppbVar17;
    pppppppbVar11 = (byte *******)sqlite3_vmprintf(pppppppbVar6);
    pcVar30 = pcStack_188;
    pppppppbVar6 = pppppppbVar17;
    if (pppppppbVar11 == (byte *******)0x0) {
      *pppppppbVar31 = (byte ******)0x7;
    }
  }
  else {
    pppppppbVar11 = (byte *******)0x0;
  }
  if (iStack_17c == *piVar24) {
    return pppppppbVar11;
  }
  pcVar26 = *(code **)(pcVar30 + -0x7b28);
  iVar12 = iStack_17c;
  (*pcVar26)();
  pppppppbVar11 = (byte *******)&pppppppbStack_190;
  piVar24 = *(int **)(pcVar26 + 0xd8208);
  pppppppbVar17 = (byte *******)*piVar24;
  pppppppbVar31 = pppppppbVar17;
  pppppppbStack_190 = pppppppbVar18;
  pppppppbStack_18c = pppppppbVar19;
  if (*(int *)(iVar12 + 8) == 0) {
    uVar35 = sqlite3_vmprintf();
    *(undefined4 *)(iVar12 + 4) = uVar35;
    *(undefined4 *)(iVar12 + 8) = 1;
    pppppppbVar31 = pppppppbVar11;
  }
  pppppppbVar11 = (byte *******)*piVar24;
  if (pppppppbVar17 == pppppppbVar11) {
    return pppppppbVar11;
  }
  pcVar26 = *(code **)(pcVar26 + 0xd81dc);
  (*pcVar26)();
  iVar12 = (*(code *)(*(int *)(pcVar26 + 0xd7f04) + 0x3fb0))
                     (pppppppbVar6 + 2,pppppppbVar18,pppppppbVar19);
  if (pppppppbVar6[2] == (byte ******)0x0) {
    ppppppbVar20 = *pppppppbVar6;
    (*(code *)(*(int *)(pcVar26 + 0xd7e8c) + 0x6ea8))(iVar12);
    ppppppbVar22 = (byte ******)ppppppbVar20[3];
    if ((int)ppppppbVar22 < 1) {
      iVar5 = *(int *)(pcVar26 + 0xd7ca8);
      if (ppppppbVar22 != (byte ******)0x0) {
        ppppppbVar25 = (byte ******)0x0;
LAB_000b8dcc:
        ppppppbVar22 = (byte ******)0x0;
        if (pppppppbVar31 != (byte *******)0x0) {
          ppppppbVar22 = *pppppppbVar31;
        }
        iVar5 = (**(code **)(pcVar26 + 0xd7ed4))();
        if ((iVar5 != 0) ||
           (pppppppbVar19 =
                 (byte *******)(*(code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x354))(pppppppbVar31),
           pppppppbVar19 == (byte *******)0x0)) {
          pcVar26 = *(code **)(pcVar26 + 0xd7cb8);
          pppppppbVar6[2] = (byte ******)0x7;
          (*pcVar26)(iVar12);
          goto LAB_000b8d20;
        }
        pppppppbVar6 = pppppppbVar19 + 1;
        if (0 < (int)ppppppbVar22) {
          if (pppppppbVar19[1] == ppppppbVar25) goto LAB_000b8e6c;
          ppppppbVar20 = (byte ******)0x0;
          if ((int)pppppppbVar19[1] <= (int)ppppppbVar25) {
            ppppppbVar20 = (byte ******)0x0;
            pppppppbVar31 = pppppppbVar19 + 2;
            do {
              pppppppbVar6 = pppppppbVar31;
              ppppppbVar20 = (byte ******)((int)ppppppbVar20 + 1);
              if (ppppppbVar22 == ppppppbVar20) goto LAB_000b8e64;
              if (*pppppppbVar6 == ppppppbVar25) goto LAB_000b8e6c;
              pppppppbVar31 = pppppppbVar6 + 1;
            } while ((int)*pppppppbVar6 <= (int)ppppppbVar25);
          }
          pppppppbVar31 = pppppppbVar19 + (int)ppppppbVar22;
          ppppppbVar16 = ppppppbVar22;
          do {
            ppppppbVar16 = (byte ******)((int)ppppppbVar16 + -1);
            pppppppbVar31[1] = *pppppppbVar31;
            pppppppbVar31 = pppppppbVar31 + -1;
          } while ((int)ppppppbVar20 < (int)ppppppbVar16);
        }
LAB_000b8e64:
        *pppppppbVar6 = ppppppbVar25;
        *pppppppbVar19 = (byte ******)((int)ppppppbVar22 + 1);
LAB_000b8e6c:
        (**(code **)(pcVar26 + 0xd7cb8))(iVar12);
        return pppppppbVar19;
      }
    }
    else {
      ppppppbVar25 = (byte ******)0x0;
      pppppbVar21 = ppppppbVar20[4];
      pcVar30 = (code *)(*(int *)(pcVar26 + 0xd7ef4) + 0x20c8);
      do {
        ppppbVar13 = *pppppbVar21;
        pppppbVar21 = pppppbVar21 + 1;
        iVar5 = iVar12;
        if (ppppbVar13 == (byte ****)0x0) {
joined_r0x000b8d9c:
          if (iVar5 == 0) goto LAB_000b8dcc;
        }
        else if (iVar12 != 0) {
          iVar5 = (*pcVar30)(ppppbVar13,iVar12);
          goto joined_r0x000b8d9c;
        }
        ppppppbVar25 = (byte ******)((int)ppppppbVar25 + 1);
        iVar5 = *(int *)(pcVar26 + 0xd7ca8);
      } while (ppppppbVar25 != ppppppbVar22);
    }
    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);
    FUN_000b8c1c(pppppppbVar6,iVar5 + -0x4c3c,iVar12);
    (*pcVar26)(iVar12);
  }
  else {
    pcVar26 = *(code **)(pcVar26 + 0xd7cb8);
  }
LAB_000b8d20:
  (*pcVar26)(pppppppbVar31);
  return (byte *******)0x0;
}

