
void fts3InsertDocsize(int *pRC,Fts3Table *p,u32 *aSz)

{
  byte bVar1;
  undefined *puVar2;
  byte *pbVar3;
  RtreeCursor *p_00;
  sqlite3_vtab *psVar4;
  int iVar5;
  int iVar6;
  RtreeNode **ppRVar7;
  int *piVar8;
  RtreeCursor *pRVar9;
  RtreeCursor *pRVar10;
  Fts3Table *p_01;
  RtreeCursor *pRVar11;
  u32 *puVar12;
  RtreeCursor *pp;
  byte *pbVar13;
  int iVar14;
  uint *in_a3;
  uint *puVar15;
  sqlite3_vtab *psVar16;
  uint *puVar17;
  byte *pbVar18;
  undefined1 *puVar19;
  uint uVar20;
  u32 *unaff_s0;
  RtreeSearchPoint *pRVar21;
  uint *unaff_s1;
  int iVar22;
  RtreeSearchPoint *pRVar23;
  RtreeCursor *unaff_s2;
  int *piVar24;
  RtreeCursor *pRVar25;
  sqlite3_stmt *unaff_s4;
  Fts3Table *unaff_s5;
  uint uVar26;
  RtreeCursor *pRVar27;
  undefined *puVar28;
  code *pcVar29;
  code *pcVar30;
  code *pcVar31;
  int iVar32;
  double dVar33;
  u8 uStack_b5;
  sqlite3_vtab_cursor sStack_8c;
  undefined1 auStack_88 [4];
  sqlite3_vtab *psStack_84;
  RtreeConstraint *pRStack_7c;
  u32 *puStack_78;
  uint *puStack_74;
  RtreeCursor *pRStack_70;
  RtreeSearchPoint *pRStack_6c;
  sqlite3_stmt *psStack_68;
  Fts3Table *pFStack_64;
  RtreeNode *pRStack_40;
  sqlite3_stmt *pStmt;
  u32 uStack_24;
  
  puVar2 = PTR___stack_chk_guard_00190e24;
  uStack_24 = *(u32 *)PTR___stack_chk_guard_00190e24;
  pRVar9 = (RtreeCursor *)pRC;
  p_01 = p;
  pRVar11 = (RtreeCursor *)aSz;
  if (*pRC == 0) {
    unaff_s2 = (RtreeCursor *)p->nColumn;
    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();
    unaff_s0 = aSz;
    unaff_s4 = (sqlite3_stmt *)pRC;
    unaff_s5 = p;
    if (unaff_s1 == (uint *)0x0) {
      pRVar11 = (RtreeCursor *)((uint)unaff_s2 >> 0x1e);
      p_01 = (Fts3Table *)((int)unaff_s2 * 10);
      pRVar9 = (RtreeCursor *)
               ((uint)((int)unaff_s2 * 5) >> 0x1f |
               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +
               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2);
      unaff_s2 = (RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();
      if (unaff_s2 != (RtreeCursor *)0x0) {
        iVar14 = p->nColumn;
        if (0 < iVar14) {
          unaff_s1 = (uint *)0x0;
          puVar12 = aSz;
          do {
            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));
            uVar26 = *puVar12;
            pbVar3 = pbVar18;
            do {
              pbVar13 = pbVar3;
              uVar20 = uVar26 >> 7;
              bVar1 = (byte)uVar26;
              *pbVar13 = bVar1 | 0x80;
              uVar26 = uVar20;
              pbVar3 = pbVar13 + 1;
            } while (uVar20 != 0);
            puVar12 = puVar12 + 1;
            *pbVar13 = bVar1 & 0x7f;
            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));
          } while (aSz + iVar14 != puVar12);
        }
        in_a3 = (uint *)0x0;
        pRVar11 = (RtreeCursor *)&pStmt;
        p_01 = (Fts3Table *)&DAT_00000014;
        iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);
        if (iVar14 == 0) {
          (*(code *)PTR_sqlite3_bind_int64_00190a90)
                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);
          p_01 = (Fts3Table *)&SUB_00000002;
          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;
          pRVar11 = unaff_s2;
          in_a3 = unaff_s1;
          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);
          (*(code *)PTR_sqlite3_step_00190990)(pStmt);
          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();
          *pRC = iVar14;
          pRVar9 = (RtreeCursor *)pStmt;
        }
        else {
          pRVar9 = unaff_s2;
          (*(code *)PTR_sqlite3_free_0019096c)();
          *pRC = iVar14;
        }
        goto LAB_00136304;
      }
    }
    *pRC = 7;
  }
LAB_00136304:
  if (uStack_24 == *(u32 *)puVar2) {
    return;
  }
  puVar28 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  pRStack_6c = (RtreeSearchPoint *)puVar2;
  piVar24 = *(int **)(puVar28 + 0x5a948);
  pRStack_7c = (RtreeConstraint *)*piVar24;
  p_00 = pRVar9;
  pp = pRVar11;
  puVar15 = in_a3;
  puStack_78 = unaff_s0;
  puStack_74 = unaff_s1;
  pRStack_70 = unaff_s2;
  psStack_68 = unaff_s4;
  pFStack_64 = unaff_s5;
  if ((pRVar9->base).pVtab == (sqlite3_vtab *)0x0) {
    iVar22 = p_01->nColumn;
    pRVar10 = pRVar9;
    iVar14 = (**(code **)(puVar28 + 0x5a6ac))();
    if (iVar14 == 0) {
      uVar26 = iVar22 + 2;
      pp = (RtreeCursor *)(uVar26 >> 0x1d);
      pRVar10 = (RtreeCursor *)
                (uVar26 * 7 >> 0x1f |
                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -
                (uint)(uVar26 * 8 < uVar26 * 7)) * 2);
      p_00 = (RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)
      ;
      if (p_00 != (RtreeCursor *)0x0) {
        iVar14 = *(int *)(puVar28 + 0x5a788);
        pp = (RtreeCursor *)&sStack_8c;
        puVar15 = (uint *)0x0;
        pRVar10 = pp;
        psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);
        if (psVar4 == (sqlite3_vtab *)0x0) {
          pcVar31 = *(code **)(puVar28 + 0x5a5b4);
          puVar15 = (uint *)0x0;
          pcVar29 = *(code **)(puVar28 + 0x5a4b4);
          pRVar10 = (RtreeCursor *)0x0;
          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);
          (*pcVar31)(sStack_8c.pVtab,1);
          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);
          if (iVar22 == 100) {
            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);
            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);
            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {
              uVar20 = 0;
              if (0 < (int)uVar26) goto LAB_0013690c;
              pcVar30 = *(code **)(puVar28 + 0x5a580);
            }
            else {
              pcVar30 = *(code **)(puVar28 + 0x5a580);
              if (0 < (int)uVar26) {
                uVar20 = 0;
                if (0 < iVar5) {
                  puVar19 = auStack_88;
                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);
                  iVar32 = 0;
                  pRVar27 = p_00;
                  do {
                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);
                    iVar32 = iVar32 + iVar6;
                    uVar20 = uVar20 + 1;
                    (pRVar27->base).pVtab = psStack_84;
                    if (uVar26 == uVar20) goto LAB_0013666c;
                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;
                  } while (iVar32 < iVar5);
                }
LAB_0013690c:
                ppRVar7 = p_00->aNode + (uVar20 - 0x10);
                do {
                  uVar20 = uVar20 + 1;
                  *ppRVar7 = (RtreeNode *)0x0;
                  ppRVar7 = ppRVar7 + 1;
                } while ((int)uVar20 < (int)uVar26);
                pcVar30 = *(code **)(puVar28 + 0x5a580);
              }
            }
          }
          else {
            pRVar10 = pRVar25;
            (**(code **)(puVar28 + 0x5a87c))(p_00,0);
LAB_0013666c:
            pcVar30 = *(code **)(puVar28 + 0x5a580);
          }
          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);
          if (psVar4 == (sqlite3_vtab *)0x0) {
            psVar4 = (p_00->base).pVtab;
            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {
              psVar4 = (sqlite3_vtab *)0x0;
            }
            else {
              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);
            }
            (p_00->base).pVtab = psVar4;
            piVar8 = (int *)&p_00->atEOF;
            if (-1 < p_01->nColumn) {
              iVar22 = 0;
              do {
                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)
                {
                  iVar22 = iVar22 + 1;
                  *piVar8 = uVar20 - *in_a3;
                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;
                  piVar8 = piVar8 + 1;
                  in_a3 = in_a3 + 1;
                  if (p_01->nColumn < iVar22) goto LAB_00136714;
                }
                iVar22 = iVar22 + 1;
                *piVar8 = 0;
                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;
                piVar8 = piVar8 + 1;
                in_a3 = in_a3 + 1;
              } while (iVar22 <= p_01->nColumn);
            }
LAB_00136714:
            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));
            puVar15 = (uint *)0x0;
            pRVar11 = p_00;
            puVar17 = (uint *)0x0;
            if (0 < (int)uVar26) {
              do {
                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));
                psVar4 = (pRVar11->base).pVtab;
                pbVar3 = pbVar18;
                do {
                  pbVar13 = pbVar3;
                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);
                  bVar1 = (byte)psVar4;
                  *pbVar13 = bVar1 | 0x80;
                  psVar4 = psVar16;
                  pbVar3 = pbVar13 + 1;
                } while (psVar16 != (sqlite3_vtab *)0x0);
                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;
                *pbVar13 = bVar1 & 0x7f;
                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));
                puVar17 = puVar15;
              } while (pRVar10 != pRVar11);
            }
            puVar15 = (uint *)0x0;
            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);
            if (psVar4 == (sqlite3_vtab *)0x0) {
              (*pcVar31)(sStack_8c.pVtab,1,0,0);
              uStack_b5 = '\0';
              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);
              (*pcVar29)(sStack_8c.pVtab);
              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);
              pcVar31 = *(code **)(puVar28 + 0x5a5ac);
              (pRVar9->base).pVtab = psVar4;
              (*pcVar31)(sStack_8c.pVtab,2);
              (**(code **)(puVar28 + 0x5a490))();
              pp = pRVar10;
              puVar15 = puVar17;
            }
            else {
              (**(code **)(puVar28 + 0x5a490))();
              (pRVar9->base).pVtab = psVar4;
            }
            goto LAB_00136530;
          }
        }
        pp = pRVar10;
        (**(code **)(puVar28 + 0x5a490))();
        (pRVar9->base).pVtab = psVar4;
        goto LAB_00136530;
      }
    }
    p_00 = pRVar10;
    (pRVar9->base).pVtab = (sqlite3_vtab *)0x7;
  }
LAB_00136530:
  if (pRStack_7c == (RtreeConstraint *)*piVar24) {
    return;
  }
  pcVar31 = *(code **)(puVar28 + 0x5a91c);
  (*pcVar31)();
  iVar22 = p_00->nPointAlloc;
  dVar33 = (double)CONCAT44(pp,puVar15);
  iVar14 = p_00->nPoint;
  pRVar21 = p_00->aPoint;
  if (iVar22 <= iVar14) {
    iVar14 = (**(code **)(pcVar31 + 0x5a220))();
    if (iVar14 == 0) {
      pRVar21 = (RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21);
      if (pRVar21 != (RtreeSearchPoint *)0x0) {
        iVar14 = p_00->nPoint;
        p_00->aPoint = pRVar21;
        p_00->nPointAlloc = (iVar22 + 4) * 2;
        goto LAB_001369b4;
      }
    }
    return;
  }
LAB_001369b4:
  p_00->nPoint = iVar14 + 1;
  pRVar21 = pRVar21 + iVar14;
  pRVar21->rScore = dVar33;
  pRVar21->iLevel = uStack_b5;
  if (0 < iVar14) {
    while( true ) {
      iVar22 = iVar14 + -1 >> 1;
      pRVar23 = p_00->aPoint + iVar22;
      if (((pRVar23->rScore <= dVar33) &&
          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||
         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)) break;
      dVar33 = pRVar23->rScore;
      pRVar21 = pRVar23;
      iVar14 = iVar22;
    }
  }
  return;
}



uint **** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)

{
  byte bVar1;
  undefined *puVar2;
  byte *pbVar3;
  uint ****ppppuVar4;
  int iVar5;
  uint *****pppppuVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  uint *****pppppuVar10;
  uint *****pppppuVar11;
  uint *****pppppuVar12;
  uint *****pppppuVar13;
  byte *pbVar14;
  uint ****ppppuVar15;
  uint *puVar16;
  uint *puVar17;
  undefined1 *puVar18;
  uint uVar19;
  uint *****unaff_s0;
  uint *unaff_s1;
  uint ****ppppuVar20;
  uint *****unaff_s2;
  int *piVar21;
  uint *****pppppuVar22;
  uint *****unaff_s4;
  int unaff_s5;
  int iVar23;
  uint uVar24;
  undefined *puVar25;
  code *pcVar26;
  code *pcVar27;
  code *pcVar28;
  int iVar29;
  double dVar30;
  undefined1 uStack_b5;
  uint ***pppuStack_8c;
  undefined1 auStack_88 [4];
  uint ***pppuStack_84;
  uint ***pppuStack_7c;
  uint ****ppppuStack_78;
  uint *puStack_74;
  uint ****ppppuStack_70;
  undefined *puStack_6c;
  uint ****ppppuStack_68;
  int iStack_64;
  undefined *local_40;
  uint ****local_28;
  uint ***local_24;
  
  puVar2 = PTR___stack_chk_guard_00190e24;
  local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;
  pppppuVar10 = param_1;
  iVar9 = param_2;
  pppppuVar12 = param_3;
  if (*param_1 == (uint ****)0x0) {
    unaff_s2 = *(uint ******)(param_2 + 0x18);
    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();
    unaff_s0 = param_3;
    unaff_s4 = param_1;
    unaff_s5 = param_2;
    if (unaff_s1 == (uint *)0x0) {
      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);
      iVar9 = (int)unaff_s2 * 10;
      pppppuVar10 = (uint *****)
                    ((uint)((int)unaff_s2 * 5) >> 0x1f |
                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +
                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *
                    2);
      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();
      if (unaff_s2 != (uint *****)0x0) {
        iVar9 = *(int *)(param_2 + 0x18);
        if (0 < iVar9) {
          unaff_s1 = (uint *)0x0;
          pppppuVar10 = param_3;
          do {
            ppppuVar4 = *pppppuVar10;
            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);
            do {
              pbVar14 = pbVar3;
              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);
              bVar1 = (byte)ppppuVar4;
              *pbVar14 = bVar1 | 0x80;
              ppppuVar4 = ppppuVar15;
              pbVar3 = pbVar14 + 1;
            } while (ppppuVar15 != (uint ****)0x0);
            pppppuVar10 = pppppuVar10 + 1;
            *pbVar14 = bVar1 & 0x7f;
            unaff_s1 = (uint *)((int)unaff_s1 +
                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));
          } while (param_3 + iVar9 != pppppuVar10);
        }
        param_4 = (uint *)0x0;
        pppppuVar12 = &local_28;
        iVar9 = 0x14;
        ppppuVar4 = (uint ****)FUN_001210f8(param_2);
        if (ppppuVar4 == (uint ****)0x0) {
          (*(code *)PTR_sqlite3_bind_int64_00190a90)
                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));
          iVar9 = 2;
          local_40 = PTR_sqlite3_free_0019096c;
          pppppuVar12 = unaff_s2;
          param_4 = unaff_s1;
          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);
          (*(code *)PTR_sqlite3_step_00190990)(local_28);
          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();
          *param_1 = ppppuVar4;
          pppppuVar10 = (uint *****)local_28;
        }
        else {
          pppppuVar10 = unaff_s2;
          (*(code *)PTR_sqlite3_free_0019096c)();
          *param_1 = ppppuVar4;
        }
        goto LAB_00136304;
      }
    }
    *param_1 = (uint ****)0x7;
  }
LAB_00136304:
  ppppuVar4 = *(uint *****)puVar2;
  if ((uint ****)local_24 == ppppuVar4) {
    return ppppuVar4;
  }
  puVar25 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_6c = puVar2;
  piVar21 = *(int **)(puVar25 + 0x5a948);
  pppuStack_7c = (uint ***)*piVar21;
  pppppuVar6 = pppppuVar10;
  pppppuVar13 = pppppuVar12;
  puVar16 = param_4;
  ppppuStack_78 = (uint ****)unaff_s0;
  puStack_74 = unaff_s1;
  ppppuStack_70 = (uint ****)unaff_s2;
  ppppuStack_68 = (uint ****)unaff_s4;
  iStack_64 = unaff_s5;
  if (*pppppuVar10 == (uint ****)0x0) {
    iVar23 = *(int *)(iVar9 + 0x18);
    pppppuVar11 = pppppuVar10;
    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();
    if (iVar5 == 0) {
      uVar24 = iVar23 + 2;
      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);
      pppppuVar11 = (uint *****)
                    (uVar24 * 7 >> 0x1f |
                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -
                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);
      pppppuVar6 = (uint *****)
                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);
      if (pppppuVar6 != (uint *****)0x0) {
        iVar5 = *(int *)(puVar25 + 0x5a788);
        pppppuVar13 = (uint *****)&pppuStack_8c;
        puVar16 = (uint *)0x0;
        pppppuVar11 = pppppuVar13;
        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);
        if (ppppuVar4 == (uint ****)0x0) {
          pcVar28 = *(code **)(puVar25 + 0x5a5b4);
          puVar16 = (uint *)0x0;
          pcVar26 = *(code **)(puVar25 + 0x5a4b4);
          pppppuVar11 = (uint *****)0x0;
          pppppuVar22 = (uint *****)(uVar24 * 4);
          (*pcVar28)(pppuStack_8c,1);
          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);
          if (iVar23 == 100) {
            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);
            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);
            pppppuVar22 = pppppuVar11;
            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {
              uVar19 = 0;
              if (0 < (int)uVar24) goto LAB_0013690c;
              pcVar27 = *(code **)(puVar25 + 0x5a580);
            }
            else {
              pcVar27 = *(code **)(puVar25 + 0x5a580);
              if (0 < (int)uVar24) {
                uVar19 = 0;
                if (0 < iVar7) {
                  puVar18 = auStack_88;
                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);
                  iVar29 = 0;
                  pppppuVar11 = pppppuVar6;
                  do {
                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);
                    iVar29 = iVar29 + iVar8;
                    uVar19 = uVar19 + 1;
                    *pppppuVar11 = (uint ****)pppuStack_84;
                    if (uVar24 == uVar19) goto LAB_0013666c;
                    pppppuVar11 = pppppuVar11 + 1;
                  } while (iVar29 < iVar7);
                }
LAB_0013690c:
                pppppuVar11 = pppppuVar6 + uVar19;
                do {
                  uVar19 = uVar19 + 1;
                  *pppppuVar11 = (uint ****)0x0;
                  pppppuVar11 = pppppuVar11 + 1;
                } while ((int)uVar19 < (int)uVar24);
                pcVar27 = *(code **)(puVar25 + 0x5a580);
                pppppuVar11 = pppppuVar22;
              }
            }
          }
          else {
            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);
LAB_0013666c:
            pcVar27 = *(code **)(puVar25 + 0x5a580);
            pppppuVar11 = pppppuVar22;
          }
          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);
          if (ppppuVar4 == (uint ****)0x0) {
            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {
              ppppuVar4 = (uint ****)0x0;
            }
            else {
              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);
            }
            *pppppuVar6 = ppppuVar4;
            pppppuVar11 = pppppuVar6 + 1;
            if (-1 < *(int *)(iVar9 + 0x18)) {
              iVar23 = 0;
              do {
                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {
                  iVar23 = iVar23 + 1;
                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);
                  pppppuVar12 = pppppuVar12 + 1;
                  pppppuVar11 = pppppuVar11 + 1;
                  param_4 = param_4 + 1;
                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;
                }
                iVar23 = iVar23 + 1;
                *pppppuVar11 = (uint ****)0x0;
                pppppuVar12 = pppppuVar12 + 1;
                pppppuVar11 = pppppuVar11 + 1;
                param_4 = param_4 + 1;
              } while (iVar23 <= *(int *)(iVar9 + 0x18));
            }
LAB_00136714:
            pppppuVar11 = pppppuVar6 + uVar24;
            puVar16 = (uint *)0x0;
            pppppuVar12 = pppppuVar6;
            puVar17 = (uint *)0x0;
            if (0 < (int)uVar24) {
              do {
                ppppuVar4 = *pppppuVar12;
                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);
                do {
                  pbVar14 = pbVar3;
                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);
                  bVar1 = (byte)ppppuVar4;
                  *pbVar14 = bVar1 | 0x80;
                  ppppuVar4 = ppppuVar15;
                  pbVar3 = pbVar14 + 1;
                } while (ppppuVar15 != (uint ****)0x0);
                pppppuVar12 = pppppuVar12 + 1;
                *pbVar14 = bVar1 & 0x7f;
                puVar16 = (uint *)((int)puVar16 +
                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));
                puVar17 = puVar16;
              } while (pppppuVar11 != pppppuVar12);
            }
            puVar16 = (uint *)0x0;
            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);
            if (ppppuVar4 == (uint ****)0x0) {
              (*pcVar28)(pppuStack_8c,1,0,0);
              uStack_b5 = 0;
              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);
              (*pcVar26)(pppuStack_8c);
              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);
              pcVar28 = *(code **)(puVar25 + 0x5a5ac);
              *pppppuVar10 = ppppuVar4;
              (*pcVar28)(pppuStack_8c,2);
              (**(code **)(puVar25 + 0x5a490))();
              pppppuVar13 = pppppuVar11;
              puVar16 = puVar17;
            }
            else {
              (**(code **)(puVar25 + 0x5a490))();
              *pppppuVar10 = ppppuVar4;
            }
            goto LAB_00136530;
          }
        }
        pppppuVar13 = pppppuVar11;
        (**(code **)(puVar25 + 0x5a490))();
        *pppppuVar10 = ppppuVar4;
        goto LAB_00136530;
      }
    }
    pppppuVar6 = pppppuVar11;
    *pppppuVar10 = (uint ****)0x7;
  }
LAB_00136530:
  ppppuVar4 = (uint ****)*piVar21;
  if ((uint ****)pppuStack_7c == ppppuVar4) {
    return ppppuVar4;
  }
  pcVar28 = *(code **)(puVar25 + 0x5a91c);
  (*pcVar28)();
  ppppuVar20 = pppppuVar6[5];
  dVar30 = (double)CONCAT44(pppppuVar13,puVar16);
  ppppuVar15 = pppppuVar6[6];
  ppppuVar4 = pppppuVar6[8];
  if ((int)ppppuVar20 <= (int)ppppuVar15) {
    iVar9 = (**(code **)(pcVar28 + 0x5a220))();
    if (iVar9 == 0) {
      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);
      if (ppppuVar4 != (uint ****)0x0) {
        ppppuVar15 = pppppuVar6[6];
        pppppuVar6[8] = ppppuVar4;
        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);
        goto LAB_001369b4;
      }
    }
    return (uint ****)0x0;
  }
LAB_001369b4:
  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);
  ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;
  *(double *)ppppuVar4 = dVar30;
  *(undefined1 *)(ppppuVar4 + 4) = uStack_b5;
  if (0 < (int)ppppuVar15) {
    while( true ) {
      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);
      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;
      if (((*(double *)ppppuVar20 <= dVar30) &&
          ((*(double *)ppppuVar20 < dVar30 ||
           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||
         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)
         ) break;
      dVar30 = *(double *)ppppuVar20;
    }
  }
  return ppppuVar4;
}


lui gp,0x6
addiu gp,gp,0x2664
addu gp,gp,t9
addiu sp,sp,-0x50
sw s3,0x40(sp)
sw gp,0x18(sp)
sw ra,0x4c(sp)
sw s5,0x48(sp)
sw s4,0x44(sp)
sw s2,0x3c(sp)
sw s1,0x38(sp)
sw s0,0x34(sp)
lw s3,-0x7afc(gp)
lw v0,0x0(a0)
lw v1,0x0(s3)
sw v1,0x2c(sp)
beq v0,zero,0x00136334
_lw t9,-0x7d98(gp)
lw v1,0x2c(sp)
lw v0,0x0(s3)
bne v1,v0,0x001364d0
_lw ra,0x4c(sp)
lw s5,0x48(sp)
lw s4,0x44(sp)
lw s3,0x40(sp)
lw s2,0x3c(sp)
lw s1,0x38(sp)
lw s0,0x34(sp)
jr ra
_addiu sp,sp,0x50
or s4,a0,zero
or s5,a1,zero
lw s2,0x18(a1)
jalr t9
_or s0,a2,zero
lw gp,0x18(sp)
bne v0,zero,0x001364a4
_or s1,v0,zero
sra a0,s2,0x1f
lw t9,-0x7d78(gp)
sll v0,s2,0x2
srl a2,s2,0x1e
sll v1,a0,0x2
addu a1,v0,s2
or v1,a2,v1
addu v1,v1,a0
sltu v0,a1,v0
addu v0,v0,v1
srl a0,a1,0x1f
sll v0,v0,0x1
sll a1,a1,0x1
addiu t9,t9,-0x2b48
jalr t9
_or a0,a0,v0
lw gp,0x18(sp)
beq v0,zero,0x001364a4
_or s2,v0,zero
lw v0,0x18(s5)
blez v0,0x00136410
_sll v0,v0,0x2
li t2,-0x80
addu t4,s0,v0
or a2,s0,zero
addu t3,s2,s1
lw v1,0x0(a2)
or v0,zero,zero
b 0x001363d0
_or a3,t3,zero
or a3,a0,zero
sll t1,v0,0x19
srl t0,v1,0x7
addiu a0,a3,0x1
srl v0,v0,0x7
andi a1,v1,0xff
or v1,t1,t0
or t0,v0,v1
or t1,a1,t2
bne t0,zero,0x001363cc
_sb t1,-0x1(a0)
subu a0,a0,t3
addiu a2,a2,0x4
andi a1,a1,0x7f
sb a1,0x0(a3)
bne t4,a2,0x001363b8
_addu s1,s1,a0
lw t9,-0x7cbc(gp)
or a3,zero,zero
addiu a2,sp,0x28
li a1,0x14
addiu t9,t9,0x10f8
bal 0x001210f8
_or a0,s5,zero
bne v0,zero,0x001364b0
_lw gp,0x18(sp)
lw t9,-0x7e90(gp)
li a1,0x1
lw a3,0x114(s5)
lw a2,0x110(s5)
jalr t9
_lw a0,0x28(sp)
li a1,0x2
lw gp,0x18(sp)
or a3,s1,zero
lw a0,0x28(sp)
or a2,s2,zero
sw zero,0x14(sp)
lw t9,-0x7d44(gp)
lw v0,-0x7fb4(gp)
addiu t9,t9,0x2f8c
jalr t9
_sw v0,0x10(sp)
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_lw a0,0x28(sp)
lw gp,0x18(sp)
lw t9,-0x7ec4(gp)
jalr t9
_lw a0,0x28(sp)
lw gp,0x18(sp)
b 0x00136304
_sw v0,0x0(s4)
li v0,0x7
b 0x00136304
_sw v0,0x0(s4)
lw t9,-0x7fb4(gp)
or a0,s2,zero
jalr t9
_sw v0,0x24(sp)
lw v0,0x24(sp)
lw gp,0x18(sp)
b 0x00136304
_sw v0,0x0(s4)
lw t9,-0x7b28(gp)
jalr t9
_nop
(translation_unit "uint **** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  uint ****ppppuVar4;\n  int iVar5;\n  uint *****pppppuVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint *****pppppuVar10;\n  uint *****pppppuVar11;\n  uint *****pppppuVar12;\n  uint *****pppppuVar13;\n  byte *pbVar14;\n  uint ****ppppuVar15;\n  uint *puVar16;\n  uint *puVar17;\n  undefined1 *puVar18;\n  uint uVar19;\n  uint *****unaff_s0;\n  uint *unaff_s1;\n  uint ****ppppuVar20;\n  uint *****unaff_s2;\n  int *piVar21;\n  uint *****pppppuVar22;\n  uint *****unaff_s4;\n  int unaff_s5;\n  int iVar23;\n  uint uVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  code *pcVar28;\n  int iVar29;\n  double dVar30;\n  undefined1 uStack_b5;\n  uint ***pppuStack_8c;\n  undefined1 auStack_88 [4];\n  uint ***pppuStack_84;\n  uint ***pppuStack_7c;\n  uint ****ppppuStack_78;\n  uint *puStack_74;\n  uint ****ppppuStack_70;\n  undefined *puStack_6c;\n  uint ****ppppuStack_68;\n  int iStack_64;\n  undefined *local_40;\n  uint ****local_28;\n  uint ***local_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;\n  pppppuVar10 = param_1;\n  iVar9 = param_2;\n  pppppuVar12 = param_3;\n  if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }\nLAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;\n  if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_6c = puVar2;\n  piVar21 = *(int **)(puVar25 + 0x5a948);\n  pppuStack_7c = (uint ***)*piVar21;\n  pppppuVar6 = pppppuVar10;\n  pppppuVar13 = pppppuVar12;\n  puVar16 = param_4;\n  ppppuStack_78 = (uint ****)unaff_s0;\n  puStack_74 = unaff_s1;\n  ppppuStack_70 = (uint ****)unaff_s2;\n  ppppuStack_68 = (uint ****)unaff_s4;\n  iStack_64 = unaff_s5;\n  if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }\nLAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;\n  if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }\n  pcVar28 = *(code **)(puVar25 + 0x5a91c);\n  (*pcVar28)();\n  ppppuVar20 = pppppuVar6[5];\n  dVar30 = (double)CONCAT44(pppppuVar13,puVar16);\n  ppppuVar15 = pppppuVar6[6];\n  ppppuVar4 = pppppuVar6[8];\n  if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }\nLAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);\n  ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;\n  *(double *)ppppuVar4 = dVar30;\n  *(undefined1 *)(ppppuVar4 + 4) = uStack_b5;\n  if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }\n  return ppppuVar4;\n}\n\n" (function_definition "uint **** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  uint ****ppppuVar4;\n  int iVar5;\n  uint *****pppppuVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint *****pppppuVar10;\n  uint *****pppppuVar11;\n  uint *****pppppuVar12;\n  uint *****pppppuVar13;\n  byte *pbVar14;\n  uint ****ppppuVar15;\n  uint *puVar16;\n  uint *puVar17;\n  undefined1 *puVar18;\n  uint uVar19;\n  uint *****unaff_s0;\n  uint *unaff_s1;\n  uint ****ppppuVar20;\n  uint *****unaff_s2;\n  int *piVar21;\n  uint *****pppppuVar22;\n  uint *****unaff_s4;\n  int unaff_s5;\n  int iVar23;\n  uint uVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  code *pcVar28;\n  int iVar29;\n  double dVar30;\n  undefined1 uStack_b5;\n  uint ***pppuStack_8c;\n  undefined1 auStack_88 [4];\n  uint ***pppuStack_84;\n  uint ***pppuStack_7c;\n  uint ****ppppuStack_78;\n  uint *puStack_74;\n  uint ****ppppuStack_70;\n  undefined *puStack_6c;\n  uint ****ppppuStack_68;\n  int iStack_64;\n  undefined *local_40;\n  uint ****local_28;\n  uint ***local_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;\n  pppppuVar10 = param_1;\n  iVar9 = param_2;\n  pppppuVar12 = param_3;\n  if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }\nLAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;\n  if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_6c = puVar2;\n  piVar21 = *(int **)(puVar25 + 0x5a948);\n  pppuStack_7c = (uint ***)*piVar21;\n  pppppuVar6 = pppppuVar10;\n  pppppuVar13 = pppppuVar12;\n  puVar16 = param_4;\n  ppppuStack_78 = (uint ****)unaff_s0;\n  puStack_74 = unaff_s1;\n  ppppuStack_70 = (uint ****)unaff_s2;\n  ppppuStack_68 = (uint ****)unaff_s4;\n  iStack_64 = unaff_s5;\n  if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }\nLAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;\n  if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }\n  pcVar28 = *(code **)(puVar25 + 0x5a91c);\n  (*pcVar28)();\n  ppppuVar20 = pppppuVar6[5];\n  dVar30 = (double)CONCAT44(pppppuVar13,puVar16);\n  ppppuVar15 = pppppuVar6[6];\n  ppppuVar4 = pppppuVar6[8];\n  if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }\nLAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);\n  ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;\n  *(double *)ppppuVar4 = dVar30;\n  *(undefined1 *)(ppppuVar4 + 4) = uStack_b5;\n  if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }\n  return ppppuVar4;\n}" type_identifier (pointer_declarator "**** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" * (pointer_declarator "*** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" * (pointer_declarator "** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" * (pointer_declarator "* FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" * (function_declarator "FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" identifier (parameter_list "(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" ( (parameter_declaration "uint *****param_1" type_identifier (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier)))))) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint *****param_3" type_identifier (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))))))) (compound_statement "{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  uint ****ppppuVar4;\n  int iVar5;\n  uint *****pppppuVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint *****pppppuVar10;\n  uint *****pppppuVar11;\n  uint *****pppppuVar12;\n  uint *****pppppuVar13;\n  byte *pbVar14;\n  uint ****ppppuVar15;\n  uint *puVar16;\n  uint *puVar17;\n  undefined1 *puVar18;\n  uint uVar19;\n  uint *****unaff_s0;\n  uint *unaff_s1;\n  uint ****ppppuVar20;\n  uint *****unaff_s2;\n  int *piVar21;\n  uint *****pppppuVar22;\n  uint *****unaff_s4;\n  int unaff_s5;\n  int iVar23;\n  uint uVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  code *pcVar28;\n  int iVar29;\n  double dVar30;\n  undefined1 uStack_b5;\n  uint ***pppuStack_8c;\n  undefined1 auStack_88 [4];\n  uint ***pppuStack_84;\n  uint ***pppuStack_7c;\n  uint ****ppppuStack_78;\n  uint *puStack_74;\n  uint ****ppppuStack_70;\n  undefined *puStack_6c;\n  uint ****ppppuStack_68;\n  int iStack_64;\n  undefined *local_40;\n  uint ****local_28;\n  uint ***local_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;\n  pppppuVar10 = param_1;\n  iVar9 = param_2;\n  pppppuVar12 = param_3;\n  if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }\nLAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;\n  if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_6c = puVar2;\n  piVar21 = *(int **)(puVar25 + 0x5a948);\n  pppuStack_7c = (uint ***)*piVar21;\n  pppppuVar6 = pppppuVar10;\n  pppppuVar13 = pppppuVar12;\n  puVar16 = param_4;\n  ppppuStack_78 = (uint ****)unaff_s0;\n  puStack_74 = unaff_s1;\n  ppppuStack_70 = (uint ****)unaff_s2;\n  ppppuStack_68 = (uint ****)unaff_s4;\n  iStack_64 = unaff_s5;\n  if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }\nLAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;\n  if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }\n  pcVar28 = *(code **)(puVar25 + 0x5a91c);\n  (*pcVar28)();\n  ppppuVar20 = pppppuVar6[5];\n  dVar30 = (double)CONCAT44(pppppuVar13,puVar16);\n  ppppuVar15 = pppppuVar6[6];\n  ppppuVar4 = pppppuVar6[8];\n  if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }\nLAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);\n  ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;\n  *(double *)ppppuVar4 = dVar30;\n  *(undefined1 *)(ppppuVar4 + 4) = uStack_b5;\n  if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }\n  return ppppuVar4;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "uint ****ppppuVar4;" type_identifier (pointer_declarator "****ppppuVar4" * (pointer_declarator "***ppppuVar4" * (pointer_declarator "**ppppuVar4" * (pointer_declarator "*ppppuVar4" * identifier)))) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint *****pppppuVar6;" type_identifier (pointer_declarator "*****pppppuVar6" * (pointer_declarator "****pppppuVar6" * (pointer_declarator "***pppppuVar6" * (pointer_declarator "**pppppuVar6" * (pointer_declarator "*pppppuVar6" * identifier))))) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint *****pppppuVar10;" type_identifier (pointer_declarator "*****pppppuVar10" * (pointer_declarator "****pppppuVar10" * (pointer_declarator "***pppppuVar10" * (pointer_declarator "**pppppuVar10" * (pointer_declarator "*pppppuVar10" * identifier))))) ;) (declaration "uint *****pppppuVar11;" type_identifier (pointer_declarator "*****pppppuVar11" * (pointer_declarator "****pppppuVar11" * (pointer_declarator "***pppppuVar11" * (pointer_declarator "**pppppuVar11" * (pointer_declarator "*pppppuVar11" * identifier))))) ;) (declaration "uint *****pppppuVar12;" type_identifier (pointer_declarator "*****pppppuVar12" * (pointer_declarator "****pppppuVar12" * (pointer_declarator "***pppppuVar12" * (pointer_declarator "**pppppuVar12" * (pointer_declarator "*pppppuVar12" * identifier))))) ;) (declaration "uint *****pppppuVar13;" type_identifier (pointer_declarator "*****pppppuVar13" * (pointer_declarator "****pppppuVar13" * (pointer_declarator "***pppppuVar13" * (pointer_declarator "**pppppuVar13" * (pointer_declarator "*pppppuVar13" * identifier))))) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "uint ****ppppuVar15;" type_identifier (pointer_declarator "****ppppuVar15" * (pointer_declarator "***ppppuVar15" * (pointer_declarator "**ppppuVar15" * (pointer_declarator "*ppppuVar15" * identifier)))) ;) (declaration "uint *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint *****unaff_s0;" type_identifier (pointer_declarator "*****unaff_s0" * (pointer_declarator "****unaff_s0" * (pointer_declarator "***unaff_s0" * (pointer_declarator "**unaff_s0" * (pointer_declarator "*unaff_s0" * identifier))))) ;) (declaration "uint *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "uint ****ppppuVar20;" type_identifier (pointer_declarator "****ppppuVar20" * (pointer_declarator "***ppppuVar20" * (pointer_declarator "**ppppuVar20" * (pointer_declarator "*ppppuVar20" * identifier)))) ;) (declaration "uint *****unaff_s2;" type_identifier (pointer_declarator "*****unaff_s2" * (pointer_declarator "****unaff_s2" * (pointer_declarator "***unaff_s2" * (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier))))) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "uint *****pppppuVar22;" type_identifier (pointer_declarator "*****pppppuVar22" * (pointer_declarator "****pppppuVar22" * (pointer_declarator "***pppppuVar22" * (pointer_declarator "**pppppuVar22" * (pointer_declarator "*pppppuVar22" * identifier))))) ;) (declaration "uint *****unaff_s4;" type_identifier (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 identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "double dVar30;" primitive_type identifier ;) (declaration "undefined1 uStack_b5;" type_identifier identifier ;) (declaration "uint ***pppuStack_8c;" type_identifier (pointer_declarator "***pppuStack_8c" * (pointer_declarator "**pppuStack_8c" * (pointer_declarator "*pppuStack_8c" * identifier))) ;) (declaration "undefined1 auStack_88 [4];" type_identifier (array_declarator "auStack_88 [4]" identifier [ number_literal ]) ;) (declaration "uint ***pppuStack_84;" type_identifier (pointer_declarator "***pppuStack_84" * (pointer_declarator "**pppuStack_84" * (pointer_declarator "*pppuStack_84" * identifier))) ;) (declaration "uint ***pppuStack_7c;" type_identifier (pointer_declarator "***pppuStack_7c" * (pointer_declarator "**pppuStack_7c" * (pointer_declarator "*pppuStack_7c" * identifier))) ;) (declaration "uint ****ppppuStack_78;" type_identifier (pointer_declarator "****ppppuStack_78" * (pointer_declarator "***ppppuStack_78" * (pointer_declarator "**ppppuStack_78" * (pointer_declarator "*ppppuStack_78" * identifier)))) ;) (declaration "uint *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "uint ****ppppuStack_70;" type_identifier (pointer_declarator "****ppppuStack_70" * (pointer_declarator "***ppppuStack_70" * (pointer_declarator "**ppppuStack_70" * (pointer_declarator "*ppppuStack_70" * identifier)))) ;) (declaration "undefined *puStack_6c;" type_identifier (pointer_declarator "*puStack_6c" * identifier) ;) (declaration "uint ****ppppuStack_68;" type_identifier (pointer_declarator "****ppppuStack_68" * (pointer_declarator "***ppppuStack_68" * (pointer_declarator "**ppppuStack_68" * (pointer_declarator "*ppppuStack_68" * identifier)))) ;) (declaration "int iStack_64;" primitive_type identifier ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "uint ****local_28;" type_identifier (pointer_declarator "****local_28" * (pointer_declarator "***local_28" * (pointer_declarator "**local_28" * (pointer_declarator "*local_28" * identifier)))) ;) (declaration "uint ***local_24;" type_identifier (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier))) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_24 = *(uint ****)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(uint ****)PTR___stack_chk_guard_00190e24" * (cast_expression "(uint ****)PTR___stack_chk_guard_00190e24" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier))) ;) (expression_statement "pppppuVar10 = param_1;" (assignment_expression "pppppuVar10 = param_1" identifier = identifier) ;) (expression_statement "iVar9 = param_2;" (assignment_expression "iVar9 = param_2" identifier = identifier) ;) (expression_statement "pppppuVar12 = param_3;" (assignment_expression "pppppuVar12 = param_3" identifier = identifier) ;) (if_statement "if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }" if (parenthesized_expression "(*param_1 == (uint ****)0x0)" ( (binary_expression "*param_1 == (uint ****)0x0" (pointer_expression "*param_1" * identifier) == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }" { (expression_statement "unaff_s2 = *(uint ******)(param_2 + 0x18);" (assignment_expression "unaff_s2 = *(uint ******)(param_2 + 0x18)" identifier = (pointer_expression "*(uint ******)(param_2 + 0x18)" * (cast_expression "(uint ******)(param_2 + 0x18)" ( (type_descriptor "uint ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();" (assignment_expression "unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)()" identifier = (cast_expression "(uint *)(*(code *)PTR_sqlite3_initialize_00190b88)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_initialize_00190b88)()" (parenthesized_expression "(*(code *)PTR_sqlite3_initialize_00190b88)" ( (pointer_expression "*(code *)PTR_sqlite3_initialize_00190b88" * (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" identifier = identifier) ;) (expression_statement "unaff_s4 = param_1;" (assignment_expression "unaff_s4 = param_1" identifier = identifier) ;) (expression_statement "unaff_s5 = param_2;" (assignment_expression "unaff_s5 = param_2" identifier = identifier) ;) (if_statement "if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }" if (parenthesized_expression "(unaff_s1 == (uint *)0x0)" ( (binary_expression "unaff_s1 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }" { (expression_statement "pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);" (assignment_expression "pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e)" identifier = (cast_expression "(uint *****)((uint)unaff_s2 >> 0x1e)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)unaff_s2 >> 0x1e)" ( (binary_expression "(uint)unaff_s2 >> 0x1e" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "iVar9 = (int)unaff_s2 * 10;" (assignment_expression "iVar9 = (int)unaff_s2 * 10" identifier = (binary_expression "(int)unaff_s2 * 10" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);" (assignment_expression "pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2)" identifier = (cast_expression "(uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2)" ( (binary_expression "(uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2" (binary_expression "(uint)((int)unaff_s2 * 5) >> 0x1f" (call_expression "(uint)((int)unaff_s2 * 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s2 * 5)" ( (binary_expression "(int)unaff_s2 * 5" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) | (binary_expression "((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2" (parenthesized_expression "((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f))" ( (binary_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)" (binary_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2)" (call_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4))" ( (binary_expression "(uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)" (call_expression "(uint)((int)unaff_s2 * 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s2 * 5)" ( (binary_expression "(int)unaff_s2 * 5" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) < (call_expression "(uint)((int)unaff_s2 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s2 * 4)" ( (binary_expression "(int)unaff_s2 * 4" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ))) + (parenthesized_expression "((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2)" ( (binary_expression "(uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2" (cast_expression "(uint)pppppuVar12" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)unaff_s2 >> 0x1f) << 2" (parenthesized_expression "((int)unaff_s2 >> 0x1f)" ( (binary_expression "(int)unaff_s2 >> 0x1f" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) ))) + (parenthesized_expression "((int)unaff_s2 >> 0x1f)" ( (binary_expression "(int)unaff_s2 >> 0x1f" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) * number_literal)) )))) ;) (expression_statement "unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();" (assignment_expression "unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" identifier = (cast_expression "(uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2b48)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2b48" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (if_statement "if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }" if (parenthesized_expression "(unaff_s2 != (uint *****)0x0)" ( (binary_expression "unaff_s2 != (uint *****)0x0" identifier != (cast_expression "(uint *****)0x0" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }" { (expression_statement "iVar9 = *(int *)(param_2 + 0x18);" (assignment_expression "iVar9 = *(int *)(param_2 + 0x18)" identifier = (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }" if (parenthesized_expression "(0 < iVar9)" ( (binary_expression "0 < iVar9" number_literal < identifier) )) (compound_statement "{\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }" { (expression_statement "unaff_s1 = (uint *)0x0;" (assignment_expression "unaff_s1 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppuVar10 = param_3;" (assignment_expression "pppppuVar10 = param_3" identifier = identifier) ;) (do_statement "do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);" do (compound_statement "{\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          }" { (expression_statement "ppppuVar4 = *pppppuVar10;" (assignment_expression "ppppuVar4 = *pppppuVar10" identifier = (pointer_expression "*pppppuVar10" * identifier)) ;) (expression_statement "pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);" (assignment_expression "pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1)" identifier = (cast_expression "(byte *)((int)unaff_s2 + (int)unaff_s1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s2 + (int)unaff_s1)" ( (binary_expression "(int)unaff_s2 + (int)unaff_s1" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);" do (compound_statement "{\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            }" { (expression_statement "pbVar14 = pbVar3;" (assignment_expression "pbVar14 = pbVar3" identifier = identifier) ;) (expression_statement "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);" (assignment_expression "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7)" identifier = (cast_expression "(uint ****)((uint)ppppuVar4 >> 7)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppuVar4 >> 7)" ( (binary_expression "(uint)ppppuVar4 >> 7" (cast_expression "(uint)ppppuVar4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar1 = (byte)ppppuVar4;" (assignment_expression "bVar1 = (byte)ppppuVar4" identifier = (cast_expression "(byte)ppppuVar4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar14 = bVar1 | 0x80;" (assignment_expression "*pbVar14 = bVar1 | 0x80" (pointer_expression "*pbVar14" * identifier) = (binary_expression "bVar1 | 0x80" identifier | number_literal)) ;) (expression_statement "ppppuVar4 = ppppuVar15;" (assignment_expression "ppppuVar4 = ppppuVar15" identifier = identifier) ;) (expression_statement "pbVar3 = pbVar14 + 1;" (assignment_expression "pbVar3 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppppuVar15 != (uint ****)0x0)" ( (binary_expression "ppppuVar15 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) ;) (expression_statement "pppppuVar10 = pppppuVar10 + 1;" (assignment_expression "pppppuVar10 = pppppuVar10 + 1" identifier = (binary_expression "pppppuVar10 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar14 = bVar1 & 0x7f;" (assignment_expression "*pbVar14 = bVar1 & 0x7f" (pointer_expression "*pbVar14" * identifier) = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (expression_statement "unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));" (assignment_expression "unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)))" identifier = (cast_expression "(uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)))" ( (binary_expression "(int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1))" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1))" ( (binary_expression "(int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)" (cast_expression "(int)(pbVar14 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar14 + 1)" ( (binary_expression "pbVar14 + 1" identifier + number_literal) ))) - (parenthesized_expression "((int)unaff_s2 + (int)unaff_s1)" ( (binary_expression "(int)unaff_s2 + (int)unaff_s1" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) }) while (parenthesized_expression "(param_3 + iVar9 != pppppuVar10)" ( (binary_expression "param_3 + iVar9 != pppppuVar10" (binary_expression "param_3 + iVar9" identifier + identifier) != identifier) )) ;) })) (expression_statement "param_4 = (uint *)0x0;" (assignment_expression "param_4 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppuVar12 = &local_28;" (assignment_expression "pppppuVar12 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (expression_statement "iVar9 = 0x14;" (assignment_expression "iVar9 = 0x14" identifier = number_literal) ;) (expression_statement "ppppuVar4 = (uint ****)FUN_001210f8(param_2);" (assignment_expression "ppppuVar4 = (uint ****)FUN_001210f8(param_2)" identifier = (cast_expression "(uint ****)FUN_001210f8(param_2)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "FUN_001210f8(param_2)" identifier (argument_list "(param_2)" ( identifier ))))) ;) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }" if (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" ( (binary_expression "ppppuVar4 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }" { (expression_statement "(*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));" (call_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114))" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)" ( (pointer_expression "*(code *)PTR_sqlite3_bind_int64_00190a90" * (cast_expression "(code *)PTR_sqlite3_bind_int64_00190a90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(param_2 + 0x110)" * (cast_expression "(undefined4 *)(param_2 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x110)" ( (binary_expression "param_2 + 0x110" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x114)" * (cast_expression "(undefined4 *)(param_2 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x114)" ( (binary_expression "param_2 + 0x114" identifier + number_literal) )))) ))) ;) (expression_statement "iVar9 = 2;" (assignment_expression "iVar9 = 2" identifier = number_literal) ;) (expression_statement "local_40 = PTR_sqlite3_free_0019096c;" (assignment_expression "local_40 = PTR_sqlite3_free_0019096c" identifier = identifier) ;) (expression_statement "pppppuVar12 = unaff_s2;" (assignment_expression "pppppuVar12 = unaff_s2" identifier = identifier) ;) (expression_statement "param_4 = unaff_s1;" (assignment_expression "param_4 = unaff_s1" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);" (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x2f8c)" * (cast_expression "(code *)(PTR_LAB_00190bdc + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x2f8c)" ( (binary_expression "PTR_LAB_00190bdc + 0x2f8c" identifier + number_literal) )))) )) (argument_list "(local_28)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sqlite3_step_00190990)(local_28);" (call_expression "(*(code *)PTR_sqlite3_step_00190990)(local_28)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_00190990)" ( (pointer_expression "*(code *)PTR_sqlite3_step_00190990" * (cast_expression "(code *)PTR_sqlite3_step_00190990" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_28)" ( identifier ))) ;) (expression_statement "ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();" (assignment_expression "ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)()" identifier = (cast_expression "(uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)()" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)()" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_00190a5c)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_00190a5c" * (cast_expression "(code *)PTR_sqlite3_reset_00190a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "*param_1 = ppppuVar4;" (assignment_expression "*param_1 = ppppuVar4" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "pppppuVar10 = (uint *****)local_28;" (assignment_expression "pppppuVar10 = (uint *****)local_28" identifier = (cast_expression "(uint *****)local_28" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) }) (else_clause "else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }" else (compound_statement "{\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }" { (expression_statement "pppppuVar10 = unaff_s2;" (assignment_expression "pppppuVar10 = unaff_s2" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)();" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)()" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "*param_1 = ppppuVar4;" (assignment_expression "*param_1 = ppppuVar4" (pointer_expression "*param_1" * identifier) = identifier) ;) }))) (goto_statement "goto LAB_00136304;" goto statement_identifier ;) })) })) (expression_statement "*param_1 = (uint ****)0x7;" (assignment_expression "*param_1 = (uint ****)0x7" (pointer_expression "*param_1" * identifier) = (cast_expression "(uint ****)0x7" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) })) (labeled_statement "LAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;" statement_identifier : (expression_statement "ppppuVar4 = *(uint *****)puVar2;" (assignment_expression "ppppuVar4 = *(uint *****)puVar2" identifier = (pointer_expression "*(uint *****)puVar2" * (cast_expression "(uint *****)puVar2" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) ;)) (if_statement "if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }" if (parenthesized_expression "((uint ****)local_24 == ppppuVar4)" ( (binary_expression "(uint ****)local_24 == ppppuVar4" (cast_expression "(uint ****)local_24" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == identifier) )) (compound_statement "{\n    return ppppuVar4;\n  }" { (return_statement "return ppppuVar4;" return identifier ;) })) (expression_statement "puVar25 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar25 = 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_6c = puVar2;" (assignment_expression "puStack_6c = puVar2" identifier = identifier) ;) (expression_statement "piVar21 = *(int **)(puVar25 + 0x5a948);" (assignment_expression "piVar21 = *(int **)(puVar25 + 0x5a948)" identifier = (pointer_expression "*(int **)(puVar25 + 0x5a948)" * (cast_expression "(int **)(puVar25 + 0x5a948)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a948)" ( (binary_expression "puVar25 + 0x5a948" identifier + number_literal) ))))) ;) (expression_statement "pppuStack_7c = (uint ***)*piVar21;" (assignment_expression "pppuStack_7c = (uint ***)*piVar21" identifier = (cast_expression "(uint ***)*piVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*piVar21" * identifier))) ;) (expression_statement "pppppuVar6 = pppppuVar10;" (assignment_expression "pppppuVar6 = pppppuVar10" identifier = identifier) ;) (expression_statement "pppppuVar13 = pppppuVar12;" (assignment_expression "pppppuVar13 = pppppuVar12" identifier = identifier) ;) (expression_statement "puVar16 = param_4;" (assignment_expression "puVar16 = param_4" identifier = identifier) ;) (expression_statement "ppppuStack_78 = (uint ****)unaff_s0;" (assignment_expression "ppppuStack_78 = (uint ****)unaff_s0" identifier = (cast_expression "(uint ****)unaff_s0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "puStack_74 = unaff_s1;" (assignment_expression "puStack_74 = unaff_s1" identifier = identifier) ;) (expression_statement "ppppuStack_70 = (uint ****)unaff_s2;" (assignment_expression "ppppuStack_70 = (uint ****)unaff_s2" identifier = (cast_expression "(uint ****)unaff_s2" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppuStack_68 = (uint ****)unaff_s4;" (assignment_expression "ppppuStack_68 = (uint ****)unaff_s4" identifier = (cast_expression "(uint ****)unaff_s4" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iStack_64 = unaff_s5;" (assignment_expression "iStack_64 = unaff_s5" identifier = identifier) ;) (if_statement "if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }" if (parenthesized_expression "(*pppppuVar10 == (uint ****)0x0)" ( (binary_expression "*pppppuVar10 == (uint ****)0x0" (pointer_expression "*pppppuVar10" * identifier) == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }" { (expression_statement "iVar23 = *(int *)(iVar9 + 0x18);" (assignment_expression "iVar23 = *(int *)(iVar9 + 0x18)" identifier = (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pppppuVar11 = pppppuVar10;" (assignment_expression "pppppuVar11 = pppppuVar10" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puVar25 + 0x5a6ac))();" (assignment_expression "iVar5 = (**(code **)(puVar25 + 0x5a6ac))()" identifier = (call_expression "(**(code **)(puVar25 + 0x5a6ac))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a6ac))" ( (pointer_expression "**(code **)(puVar25 + 0x5a6ac)" * (pointer_expression "*(code **)(puVar25 + 0x5a6ac)" * (cast_expression "(code **)(puVar25 + 0x5a6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a6ac)" ( (binary_expression "puVar25 + 0x5a6ac" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }" { (expression_statement "uVar24 = iVar23 + 2;" (assignment_expression "uVar24 = iVar23 + 2" identifier = (binary_expression "iVar23 + 2" identifier + number_literal)) ;) (expression_statement "pppppuVar13 = (uint *****)(uVar24 >> 0x1d);" (assignment_expression "pppppuVar13 = (uint *****)(uVar24 >> 0x1d)" identifier = (cast_expression "(uint *****)(uVar24 >> 0x1d)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar24 >> 0x1d)" ( (binary_expression "uVar24 >> 0x1d" identifier >> number_literal) )))) ;) (expression_statement "pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);" (assignment_expression "pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2)" identifier = (cast_expression "(uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2)" ( (binary_expression "uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2" (binary_expression "uVar24 * 7 >> 0x1f" (binary_expression "uVar24 * 7" identifier * number_literal) >> number_literal) | (binary_expression "((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2" (parenthesized_expression "((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7))" ( (binary_expression "(((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)" (parenthesized_expression "(((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f))" ( (binary_expression "((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)" (parenthesized_expression "((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3)" ( (binary_expression "(uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3" (cast_expression "(uint)pppppuVar13" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)uVar24 >> 0x1f) << 3" (parenthesized_expression "((int)uVar24 >> 0x1f)" ( (binary_expression "(int)uVar24 >> 0x1f" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) )) - (parenthesized_expression "((int)uVar24 >> 0x1f)" ( (binary_expression "(int)uVar24 >> 0x1f" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar24 * 8 < uVar24 * 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 * 8 < uVar24 * 7)" ( (binary_expression "uVar24 * 8 < uVar24 * 7" (binary_expression "uVar24 * 8" identifier * number_literal) < (binary_expression "uVar24 * 7" identifier * number_literal)) )))) )) * number_literal)) )))) ;) (expression_statement "pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);" (assignment_expression "pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe)" identifier = (cast_expression "(uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe)" (parenthesized_expression "(*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))" ( (pointer_expression "*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48)" * (cast_expression "(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0x5a6cc) + -0x2b48)" ( (binary_expression "*(int *)(puVar25 + 0x5a6cc) + -0x2b48" (pointer_expression "*(int *)(puVar25 + 0x5a6cc)" * (cast_expression "(int *)(puVar25 + 0x5a6cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x5a6cc)" ( (binary_expression "puVar25 + 0x5a6cc" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppuVar11,uVar24 * 0xe)" ( identifier , (binary_expression "uVar24 * 0xe" identifier * number_literal) ))))) ;) (if_statement "if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }" if (parenthesized_expression "(pppppuVar6 != (uint *****)0x0)" ( (binary_expression "pppppuVar6 != (uint *****)0x0" identifier != (cast_expression "(uint *****)0x0" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }" { (expression_statement "iVar5 = *(int *)(puVar25 + 0x5a788);" (assignment_expression "iVar5 = *(int *)(puVar25 + 0x5a788)" identifier = (pointer_expression "*(int *)(puVar25 + 0x5a788)" * (cast_expression "(int *)(puVar25 + 0x5a788)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x5a788)" ( (binary_expression "puVar25 + 0x5a788" identifier + number_literal) ))))) ;) (expression_statement "pppppuVar13 = (uint *****)&pppuStack_8c;" (assignment_expression "pppppuVar13 = (uint *****)&pppuStack_8c" identifier = (cast_expression "(uint *****)&pppuStack_8c" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&pppuStack_8c" & identifier))) ;) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppuVar11 = pppppuVar13;" (assignment_expression "pppppuVar11 = pppppuVar13" identifier = identifier) ;) (expression_statement "ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);" (assignment_expression "ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16)" identifier = (cast_expression "(uint ****)FUN_001210f8(iVar9,0x16)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "FUN_001210f8(iVar9,0x16)" identifier (argument_list "(iVar9,0x16)" ( identifier , number_literal ))))) ;) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }" if (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" ( (binary_expression "ppppuVar4 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }" { (expression_statement "pcVar28 = *(code **)(puVar25 + 0x5a5b4);" (assignment_expression "pcVar28 = *(code **)(puVar25 + 0x5a5b4)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a5b4)" * (cast_expression "(code **)(puVar25 + 0x5a5b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a5b4)" ( (binary_expression "puVar25 + 0x5a5b4" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar26 = *(code **)(puVar25 + 0x5a4b4);" (assignment_expression "pcVar26 = *(code **)(puVar25 + 0x5a4b4)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a4b4)" * (cast_expression "(code **)(puVar25 + 0x5a4b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a4b4)" ( (binary_expression "puVar25 + 0x5a4b4" identifier + number_literal) ))))) ;) (expression_statement "pppppuVar11 = (uint *****)0x0;" (assignment_expression "pppppuVar11 = (uint *****)0x0" identifier = (cast_expression "(uint *****)0x0" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppuVar22 = (uint *****)(uVar24 * 4);" (assignment_expression "pppppuVar22 = (uint *****)(uVar24 * 4)" identifier = (cast_expression "(uint *****)(uVar24 * 4)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar24 * 4)" ( (binary_expression "uVar24 * 4" identifier * number_literal) )))) ;) (expression_statement "(*pcVar28)(pppuStack_8c,1);" (call_expression "(*pcVar28)(pppuStack_8c,1)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pppuStack_8c,1)" ( identifier , number_literal ))) ;) (expression_statement "iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);" (assignment_expression "iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c)" identifier = (call_expression "(**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a4b4))" ( (pointer_expression "**(code **)(puVar25 + 0x5a4b4)" * (pointer_expression "*(code **)(puVar25 + 0x5a4b4)" * (cast_expression "(code **)(puVar25 + 0x5a4b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a4b4)" ( (binary_expression "puVar25 + 0x5a4b4" identifier + number_literal) ))))) )) (argument_list "(pppuStack_8c)" ( identifier )))) ;) (if_statement "if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }" if (parenthesized_expression "(iVar23 == 100)" ( (binary_expression "iVar23 == 100" identifier == number_literal) )) (compound_statement "{\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }" { (expression_statement "iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);" (assignment_expression "iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0)" identifier = (call_expression "(**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a4c4))" ( (pointer_expression "**(code **)(puVar25 + 0x5a4c4)" * (pointer_expression "*(code **)(puVar25 + 0x5a4c4)" * (cast_expression "(code **)(puVar25 + 0x5a4c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a4c4)" ( (binary_expression "puVar25 + 0x5a4c4" identifier + number_literal) ))))) )) (argument_list "(pppuStack_8c,0)" ( identifier , number_literal )))) ;) (expression_statement "iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);" (assignment_expression "iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0)" identifier = (call_expression "(**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a4c0))" ( (pointer_expression "**(code **)(puVar25 + 0x5a4c0)" * (pointer_expression "*(code **)(puVar25 + 0x5a4c0)" * (cast_expression "(code **)(puVar25 + 0x5a4c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a4c0)" ( (binary_expression "puVar25 + 0x5a4c0" identifier + number_literal) ))))) )) (argument_list "(pppuStack_8c,0)" ( identifier , number_literal )))) ;) (expression_statement "pppppuVar22 = pppppuVar11;" (assignment_expression "pppppuVar22 = pppppuVar11" identifier = identifier) ;) (if_statement "if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }" if (parenthesized_expression "((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0'))" ( (binary_expression "(iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(iVar23 + iVar7 + -1) < '\0')" ( (binary_expression "*(char *)(iVar23 + iVar7 + -1) < '\0'" (pointer_expression "*(char *)(iVar23 + iVar7 + -1)" * (cast_expression "(char *)(iVar23 + iVar7 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar7 + -1)" ( (binary_expression "iVar23 + iVar7 + -1" (binary_expression "iVar23 + iVar7" identifier + identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)uVar24) goto LAB_0013690c;" if (parenthesized_expression "(0 < (int)uVar24)" ( (binary_expression "0 < (int)uVar24" number_literal < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0013690c;" goto statement_identifier ;)) (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a580)" * (cast_expression "(code **)(puVar25 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a580)" ( (binary_expression "puVar25 + 0x5a580" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }" else (compound_statement "{\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }" { (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a580)" * (cast_expression "(code **)(puVar25 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a580)" ( (binary_expression "puVar25 + 0x5a580" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }" if (parenthesized_expression "(0 < (int)uVar24)" ( (binary_expression "0 < (int)uVar24" number_literal < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }" if (parenthesized_expression "(0 < iVar7)" ( (binary_expression "0 < iVar7" number_literal < identifier) )) (compound_statement "{\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }" { (expression_statement "puVar18 = auStack_88;" (assignment_expression "puVar18 = auStack_88" identifier = identifier) ;) (expression_statement "pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8)" identifier = (cast_expression "(code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0x5a664) + 0x3ec8)" ( (binary_expression "*(int *)(puVar25 + 0x5a664) + 0x3ec8" (pointer_expression "*(int *)(puVar25 + 0x5a664)" * (cast_expression "(int *)(puVar25 + 0x5a664)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x5a664)" ( (binary_expression "puVar25 + 0x5a664" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "pppppuVar11 = pppppuVar6;" (assignment_expression "pppppuVar11 = pppppuVar6" identifier = identifier) ;) (do_statement "do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);" do (compound_statement "{\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  }" { (expression_statement "iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);" (assignment_expression "iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18)" identifier = (call_expression "(*pcVar27)(iVar23 + iVar29,puVar18)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar23 + iVar29,puVar18)" ( (binary_expression "iVar23 + iVar29" identifier + identifier) , identifier )))) ;) (expression_statement "iVar29 = iVar29 + iVar8;" (assignment_expression "iVar29 = iVar29 + iVar8" identifier = (binary_expression "iVar29 + iVar8" identifier + identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (expression_statement "*pppppuVar11 = (uint ****)pppuStack_84;" (assignment_expression "*pppppuVar11 = (uint ****)pppuStack_84" (pointer_expression "*pppppuVar11" * identifier) = (cast_expression "(uint ****)pppuStack_84" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (uVar24 == uVar19) goto LAB_0013666c;" if (parenthesized_expression "(uVar24 == uVar19)" ( (binary_expression "uVar24 == uVar19" identifier == identifier) )) (goto_statement "goto LAB_0013666c;" goto statement_identifier ;)) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" identifier = (binary_expression "pppppuVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar29 < iVar7)" ( (binary_expression "iVar29 < iVar7" identifier < identifier) )) ;) })) (labeled_statement "LAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;" statement_identifier : (expression_statement "pppppuVar11 = pppppuVar6 + uVar19;" (assignment_expression "pppppuVar11 = pppppuVar6 + uVar19" identifier = (binary_expression "pppppuVar6 + uVar19" identifier + identifier)) ;)) (do_statement "do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);" do (compound_statement "{\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                }" { (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (expression_statement "*pppppuVar11 = (uint ****)0x0;" (assignment_expression "*pppppuVar11 = (uint ****)0x0" (pointer_expression "*pppppuVar11" * identifier) = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" identifier = (binary_expression "pppppuVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar19 < (int)uVar24)" ( (binary_expression "(int)uVar19 < (int)uVar24" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a580)" * (cast_expression "(code **)(puVar25 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a580)" ( (binary_expression "puVar25 + 0x5a580" identifier + number_literal) ))))) ;) (expression_statement "pppppuVar11 = pppppuVar22;" (assignment_expression "pppppuVar11 = pppppuVar22" identifier = identifier) ;) })) }))) }) (else_clause "else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }" else (compound_statement "{\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }" { (expression_statement "(**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);" (call_expression "(**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a87c))" ( (pointer_expression "**(code **)(puVar25 + 0x5a87c)" * (pointer_expression "*(code **)(puVar25 + 0x5a87c)" * (cast_expression "(code **)(puVar25 + 0x5a87c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a87c)" ( (binary_expression "puVar25 + 0x5a87c" identifier + number_literal) ))))) )) (argument_list "(pppppuVar6,0)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a580)" * (cast_expression "(code **)(puVar25 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a580)" ( (binary_expression "puVar25 + 0x5a580" identifier + number_literal) ))))) ;)) (expression_statement "pppppuVar11 = pppppuVar22;" (assignment_expression "pppppuVar11 = pppppuVar22" identifier = identifier) ;) }))) (expression_statement "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);" (assignment_expression "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c)" identifier = (cast_expression "(uint ****)(*pcVar27)(pppuStack_8c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*pcVar27)(pppuStack_8c)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pppuStack_8c)" ( identifier ))))) ;) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }" if (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" ( (binary_expression "ppppuVar4 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }" { (if_statement "if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }" if (parenthesized_expression "(((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40))" ( (binary_expression "((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)" (parenthesized_expression "((int)local_40 < 0)" ( (binary_expression "(int)local_40 < 0" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(*pppppuVar6 < (uint ****)-(int)local_40)" ( (binary_expression "*pppppuVar6 < (uint ****)-(int)local_40" (pointer_expression "*pppppuVar6" * identifier) < (cast_expression "(uint ****)-(int)local_40" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (unary_expression "-(int)local_40" - (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n              ppppuVar4 = (uint ****)0x0;\n            }" { (expression_statement "ppppuVar4 = (uint ****)0x0;" (assignment_expression "ppppuVar4 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) }) (else_clause "else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }" else (compound_statement "{\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }" { (expression_statement "ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);" (assignment_expression "ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6)" identifier = (cast_expression "(uint ****)(local_40 + (int)*pppppuVar6)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(local_40 + (int)*pppppuVar6)" ( (binary_expression "local_40 + (int)*pppppuVar6" identifier + (cast_expression "(int)*pppppuVar6" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppuVar6" * identifier))) )))) ;) }))) (expression_statement "*pppppuVar6 = ppppuVar4;" (assignment_expression "*pppppuVar6 = ppppuVar4" (pointer_expression "*pppppuVar6" * identifier) = identifier) ;) (expression_statement "pppppuVar11 = pppppuVar6 + 1;" (assignment_expression "pppppuVar11 = pppppuVar6 + 1" identifier = (binary_expression "pppppuVar6 + 1" identifier + number_literal)) ;) (if_statement "if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }" if (parenthesized_expression "(-1 < *(int *)(iVar9 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar9 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));" do (compound_statement "{\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              }" { (while_statement "while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }" while (parenthesized_expression "(*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11))" ( (binary_expression "*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)" (pointer_expression "*param_4" * identifier) <= (call_expression "(uint)((int)*pppppuVar12 + (int)*pppppuVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*pppppuVar12 + (int)*pppppuVar11)" ( (binary_expression "(int)*pppppuVar12 + (int)*pppppuVar11" (cast_expression "(int)*pppppuVar12" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppuVar12" * identifier)) + (cast_expression "(int)*pppppuVar11" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppuVar11" * identifier))) )))) )) (compound_statement "{\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }" { (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "*pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);" (assignment_expression "*pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4)" (pointer_expression "*pppppuVar11" * identifier) = (cast_expression "(uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4)" ( (binary_expression "((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4" (parenthesized_expression "((int)*pppppuVar12 + (int)*pppppuVar11)" ( (binary_expression "(int)*pppppuVar12 + (int)*pppppuVar11" (cast_expression "(int)*pppppuVar12" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppuVar12" * identifier)) + (cast_expression "(int)*pppppuVar11" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppuVar11" * identifier))) )) - (pointer_expression "*param_4" * identifier)) )))) ;) (expression_statement "pppppuVar12 = pppppuVar12 + 1;" (assignment_expression "pppppuVar12 = pppppuVar12 + 1" identifier = (binary_expression "pppppuVar12 + 1" identifier + number_literal)) ;) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" identifier = (binary_expression "pppppuVar11 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;" if (parenthesized_expression "(*(int *)(iVar9 + 0x18) < iVar23)" ( (binary_expression "*(int *)(iVar9 + 0x18) < iVar23" (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) < identifier) )) (goto_statement "goto LAB_00136714;" goto statement_identifier ;)) })) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "*pppppuVar11 = (uint ****)0x0;" (assignment_expression "*pppppuVar11 = (uint ****)0x0" (pointer_expression "*pppppuVar11" * identifier) = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppppuVar12 = pppppuVar12 + 1;" (assignment_expression "pppppuVar12 = pppppuVar12 + 1" identifier = (binary_expression "pppppuVar12 + 1" identifier + number_literal)) ;) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" identifier = (binary_expression "pppppuVar11 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar23 <= *(int *)(iVar9 + 0x18))" ( (binary_expression "iVar23 <= *(int *)(iVar9 + 0x18)" identifier <= (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) )) ;) })) (labeled_statement "LAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;" statement_identifier : (expression_statement "pppppuVar11 = pppppuVar6 + uVar24;" (assignment_expression "pppppuVar11 = pppppuVar6 + uVar24" identifier = (binary_expression "pppppuVar6 + uVar24" identifier + identifier)) ;)) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppuVar12 = pppppuVar6;" (assignment_expression "pppppuVar12 = pppppuVar6" identifier = identifier) ;) (expression_statement "puVar17 = (uint *)0x0;" (assignment_expression "puVar17 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }" if (parenthesized_expression "(0 < (int)uVar24)" ( (binary_expression "0 < (int)uVar24" number_literal < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }" { (do_statement "do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);" do (compound_statement "{\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              }" { (expression_statement "ppppuVar4 = *pppppuVar12;" (assignment_expression "ppppuVar4 = *pppppuVar12" identifier = (pointer_expression "*pppppuVar12" * identifier)) ;) (expression_statement "pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);" (assignment_expression "pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16)" identifier = (cast_expression "(byte *)((int)pppppuVar11 + (int)puVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar11 + (int)puVar16)" ( (binary_expression "(int)pppppuVar11 + (int)puVar16" (cast_expression "(int)pppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);" do (compound_statement "{\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                }" { (expression_statement "pbVar14 = pbVar3;" (assignment_expression "pbVar14 = pbVar3" identifier = identifier) ;) (expression_statement "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);" (assignment_expression "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7)" identifier = (cast_expression "(uint ****)((uint)ppppuVar4 >> 7)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppuVar4 >> 7)" ( (binary_expression "(uint)ppppuVar4 >> 7" (cast_expression "(uint)ppppuVar4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar1 = (byte)ppppuVar4;" (assignment_expression "bVar1 = (byte)ppppuVar4" identifier = (cast_expression "(byte)ppppuVar4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar14 = bVar1 | 0x80;" (assignment_expression "*pbVar14 = bVar1 | 0x80" (pointer_expression "*pbVar14" * identifier) = (binary_expression "bVar1 | 0x80" identifier | number_literal)) ;) (expression_statement "ppppuVar4 = ppppuVar15;" (assignment_expression "ppppuVar4 = ppppuVar15" identifier = identifier) ;) (expression_statement "pbVar3 = pbVar14 + 1;" (assignment_expression "pbVar3 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppppuVar15 != (uint ****)0x0)" ( (binary_expression "ppppuVar15 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) ;) (expression_statement "pppppuVar12 = pppppuVar12 + 1;" (assignment_expression "pppppuVar12 = pppppuVar12 + 1" identifier = (binary_expression "pppppuVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar14 = bVar1 & 0x7f;" (assignment_expression "*pbVar14 = bVar1 & 0x7f" (pointer_expression "*pbVar14" * identifier) = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (expression_statement "puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));" (assignment_expression "puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)))" identifier = (cast_expression "(uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)))" ( (binary_expression "(int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16))" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16))" ( (binary_expression "(int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)" (cast_expression "(int)(pbVar14 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar14 + 1)" ( (binary_expression "pbVar14 + 1" identifier + number_literal) ))) - (parenthesized_expression "((int)pppppuVar11 + (int)puVar16)" ( (binary_expression "(int)pppppuVar11 + (int)puVar16" (cast_expression "(int)pppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) (expression_statement "puVar17 = puVar16;" (assignment_expression "puVar17 = puVar16" identifier = identifier) ;) }) while (parenthesized_expression "(pppppuVar11 != pppppuVar12)" ( (binary_expression "pppppuVar11 != pppppuVar12" identifier != identifier) )) ;) })) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);" (assignment_expression "ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17)" identifier = (cast_expression "(uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)(iVar5 + 0x10f8))(iVar9,0x17)" (parenthesized_expression "(*(code *)(iVar5 + 0x10f8))" ( (pointer_expression "*(code *)(iVar5 + 0x10f8)" * (cast_expression "(code *)(iVar5 + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10f8)" ( (binary_expression "iVar5 + 0x10f8" identifier + number_literal) )))) )) (argument_list "(iVar9,0x17)" ( identifier , number_literal ))))) ;) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }" if (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" ( (binary_expression "ppppuVar4 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }" { (expression_statement "(*pcVar28)(pppuStack_8c,1,0,0);" (call_expression "(*pcVar28)(pppuStack_8c,1,0,0)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pppuStack_8c,1,0,0)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "uStack_b5 = 0;" (assignment_expression "uStack_b5 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);" (call_expression "(*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2)" (parenthesized_expression "(*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))" ( (pointer_expression "*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c)" * (cast_expression "(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0x5a700) + 0x2f8c)" ( (binary_expression "*(int *)(puVar25 + 0x5a700) + 0x2f8c" (pointer_expression "*(int *)(puVar25 + 0x5a700)" * (cast_expression "(int *)(puVar25 + 0x5a700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x5a700)" ( (binary_expression "puVar25 + 0x5a700" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppuStack_8c,2)" ( identifier , number_literal ))) ;) (expression_statement "(*pcVar26)(pppuStack_8c);" (call_expression "(*pcVar26)(pppuStack_8c)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pppuStack_8c)" ( identifier ))) ;) (expression_statement "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);" (assignment_expression "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c)" identifier = (cast_expression "(uint ****)(*pcVar27)(pppuStack_8c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*pcVar27)(pppuStack_8c)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pppuStack_8c)" ( identifier ))))) ;) (expression_statement "pcVar28 = *(code **)(puVar25 + 0x5a5ac);" (assignment_expression "pcVar28 = *(code **)(puVar25 + 0x5a5ac)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a5ac)" * (cast_expression "(code **)(puVar25 + 0x5a5ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a5ac)" ( (binary_expression "puVar25 + 0x5a5ac" identifier + number_literal) ))))) ;) (expression_statement "*pppppuVar10 = ppppuVar4;" (assignment_expression "*pppppuVar10 = ppppuVar4" (pointer_expression "*pppppuVar10" * identifier) = identifier) ;) (expression_statement "(*pcVar28)(pppuStack_8c,2);" (call_expression "(*pcVar28)(pppuStack_8c,2)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pppuStack_8c,2)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar25 + 0x5a490))();" (call_expression "(**(code **)(puVar25 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a490))" ( (pointer_expression "**(code **)(puVar25 + 0x5a490)" * (pointer_expression "*(code **)(puVar25 + 0x5a490)" * (cast_expression "(code **)(puVar25 + 0x5a490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a490)" ( (binary_expression "puVar25 + 0x5a490" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pppppuVar13 = pppppuVar11;" (assignment_expression "pppppuVar13 = pppppuVar11" identifier = identifier) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) }) (else_clause "else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }" else (compound_statement "{\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }" { (expression_statement "(**(code **)(puVar25 + 0x5a490))();" (call_expression "(**(code **)(puVar25 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a490))" ( (pointer_expression "**(code **)(puVar25 + 0x5a490)" * (pointer_expression "*(code **)(puVar25 + 0x5a490)" * (cast_expression "(code **)(puVar25 + 0x5a490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a490)" ( (binary_expression "puVar25 + 0x5a490" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*pppppuVar10 = ppppuVar4;" (assignment_expression "*pppppuVar10 = ppppuVar4" (pointer_expression "*pppppuVar10" * identifier) = identifier) ;) }))) (goto_statement "goto LAB_00136530;" goto statement_identifier ;) })) })) (expression_statement "pppppuVar13 = pppppuVar11;" (assignment_expression "pppppuVar13 = pppppuVar11" identifier = identifier) ;) (expression_statement "(**(code **)(puVar25 + 0x5a490))();" (call_expression "(**(code **)(puVar25 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a490))" ( (pointer_expression "**(code **)(puVar25 + 0x5a490)" * (pointer_expression "*(code **)(puVar25 + 0x5a490)" * (cast_expression "(code **)(puVar25 + 0x5a490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a490)" ( (binary_expression "puVar25 + 0x5a490" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*pppppuVar10 = ppppuVar4;" (assignment_expression "*pppppuVar10 = ppppuVar4" (pointer_expression "*pppppuVar10" * identifier) = identifier) ;) (goto_statement "goto LAB_00136530;" goto statement_identifier ;) })) })) (expression_statement "pppppuVar6 = pppppuVar11;" (assignment_expression "pppppuVar6 = pppppuVar11" identifier = identifier) ;) (expression_statement "*pppppuVar10 = (uint ****)0x7;" (assignment_expression "*pppppuVar10 = (uint ****)0x7" (pointer_expression "*pppppuVar10" * identifier) = (cast_expression "(uint ****)0x7" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) })) (labeled_statement "LAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;" statement_identifier : (expression_statement "ppppuVar4 = (uint ****)*piVar21;" (assignment_expression "ppppuVar4 = (uint ****)*piVar21" identifier = (cast_expression "(uint ****)*piVar21" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*piVar21" * identifier))) ;)) (if_statement "if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }" if (parenthesized_expression "((uint ****)pppuStack_7c == ppppuVar4)" ( (binary_expression "(uint ****)pppuStack_7c == ppppuVar4" (cast_expression "(uint ****)pppuStack_7c" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == identifier) )) (compound_statement "{\n    return ppppuVar4;\n  }" { (return_statement "return ppppuVar4;" return identifier ;) })) (expression_statement "pcVar28 = *(code **)(puVar25 + 0x5a91c);" (assignment_expression "pcVar28 = *(code **)(puVar25 + 0x5a91c)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a91c)" * (cast_expression "(code **)(puVar25 + 0x5a91c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a91c)" ( (binary_expression "puVar25 + 0x5a91c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppppuVar20 = pppppuVar6[5];" (assignment_expression "ppppuVar20 = pppppuVar6[5]" identifier = (subscript_expression "pppppuVar6[5]" identifier [ number_literal ])) ;) (expression_statement "dVar30 = (double)CONCAT44(pppppuVar13,puVar16);" (assignment_expression "dVar30 = (double)CONCAT44(pppppuVar13,puVar16)" identifier = (cast_expression "(double)CONCAT44(pppppuVar13,puVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pppppuVar13,puVar16)" identifier (argument_list "(pppppuVar13,puVar16)" ( identifier , identifier ))))) ;) (expression_statement "ppppuVar15 = pppppuVar6[6];" (assignment_expression "ppppuVar15 = pppppuVar6[6]" identifier = (subscript_expression "pppppuVar6[6]" identifier [ number_literal ])) ;) (expression_statement "ppppuVar4 = pppppuVar6[8];" (assignment_expression "ppppuVar4 = pppppuVar6[8]" identifier = (subscript_expression "pppppuVar6[8]" identifier [ number_literal ])) ;) (if_statement "if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }" if (parenthesized_expression "((int)ppppuVar20 <= (int)ppppuVar15)" ( (binary_expression "(int)ppppuVar20 <= (int)ppppuVar15" (cast_expression "(int)ppppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }" { (expression_statement "iVar9 = (**(code **)(pcVar28 + 0x5a220))();" (assignment_expression "iVar9 = (**(code **)(pcVar28 + 0x5a220))()" identifier = (call_expression "(**(code **)(pcVar28 + 0x5a220))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x5a220))" ( (pointer_expression "**(code **)(pcVar28 + 0x5a220)" * (pointer_expression "*(code **)(pcVar28 + 0x5a220)" * (cast_expression "(code **)(pcVar28 + 0x5a220)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x5a220)" ( (binary_expression "pcVar28 + 0x5a220" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }" { (expression_statement "ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);" (assignment_expression "ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4)" identifier = (cast_expression "(uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))" ( (pointer_expression "*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354)" * (cast_expression "(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x5a240) + 0x354)" ( (binary_expression "*(int *)(pcVar28 + 0x5a240) + 0x354" (pointer_expression "*(int *)(pcVar28 + 0x5a240)" * (cast_expression "(int *)(pcVar28 + 0x5a240)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x5a240)" ( (binary_expression "pcVar28 + 0x5a240" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppuVar4)" ( identifier ))))) ;) (if_statement "if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }" if (parenthesized_expression "(ppppuVar4 != (uint ****)0x0)" ( (binary_expression "ppppuVar4 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }" { (expression_statement "ppppuVar15 = pppppuVar6[6];" (assignment_expression "ppppuVar15 = pppppuVar6[6]" identifier = (subscript_expression "pppppuVar6[6]" identifier [ number_literal ])) ;) (expression_statement "pppppuVar6[8] = ppppuVar4;" (assignment_expression "pppppuVar6[8] = ppppuVar4" (subscript_expression "pppppuVar6[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);" (assignment_expression "pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2)" (subscript_expression "pppppuVar6[5]" identifier [ number_literal ]) = (cast_expression "(uint ****)((int)(ppppuVar20 + 1) * 2)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)(ppppuVar20 + 1) * 2)" ( (binary_expression "(int)(ppppuVar20 + 1) * 2" (cast_expression "(int)(ppppuVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppppuVar20 + 1)" ( (binary_expression "ppppuVar20 + 1" identifier + number_literal) ))) * number_literal) )))) ;) (goto_statement "goto LAB_001369b4;" goto statement_identifier ;) })) })) (return_statement "return (uint ****)0x0;" return (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal) ;) })) (labeled_statement "LAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);" statement_identifier : (expression_statement "pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);" (assignment_expression "pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1)" (subscript_expression "pppppuVar6[6]" identifier [ number_literal ]) = (cast_expression "(uint ****)((int)ppppuVar15 + 1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar15 + 1)" ( (binary_expression "(int)ppppuVar15 + 1" (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;" (assignment_expression "ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6" identifier = (binary_expression "ppppuVar4 + (int)ppppuVar15 * 6" identifier + (binary_expression "(int)ppppuVar15 * 6" (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "*(double *)ppppuVar4 = dVar30;" (assignment_expression "*(double *)ppppuVar4 = dVar30" (pointer_expression "*(double *)ppppuVar4" * (cast_expression "(double *)ppppuVar4" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined1 *)(ppppuVar4 + 4) = uStack_b5;" (assignment_expression "*(undefined1 *)(ppppuVar4 + 4) = uStack_b5" (pointer_expression "*(undefined1 *)(ppppuVar4 + 4)" * (cast_expression "(undefined1 *)(ppppuVar4 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppuVar4 + 4)" ( (binary_expression "ppppuVar4 + 4" identifier + number_literal) )))) = identifier) ;) (if_statement "if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }" if (parenthesized_expression "(0 < (int)ppppuVar15)" ( (binary_expression "0 < (int)ppppuVar15" number_literal < (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }" { (while_statement "while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }" { (expression_statement "ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);" (assignment_expression "ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1)" identifier = (cast_expression "(uint ****)((int)((int)ppppuVar15 - 1U) >> 1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)((int)ppppuVar15 - 1U) >> 1)" ( (binary_expression "(int)((int)ppppuVar15 - 1U) >> 1" (cast_expression "(int)((int)ppppuVar15 - 1U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppppuVar15 - 1U)" ( (binary_expression "(int)ppppuVar15 - 1U" (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) ))) >> number_literal) )))) ;) (expression_statement "ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;" (assignment_expression "ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6" identifier = (binary_expression "pppppuVar6[8] + (int)ppppuVar15 * 6" (subscript_expression "pppppuVar6[8]" identifier [ number_literal ]) + (binary_expression "(int)ppppuVar15 * 6" (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (if_statement "if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;" if (parenthesized_expression "(((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         )" ( (binary_expression "((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)" (parenthesized_expression "((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4)))))" ( (binary_expression "(*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))" (parenthesized_expression "(*(double *)ppppuVar20 <= dVar30)" ( (binary_expression "*(double *)ppppuVar20 <= dVar30" (pointer_expression "*(double *)ppppuVar20" * (cast_expression "(double *)ppppuVar20" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= identifier) )) && (parenthesized_expression "((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))" ( (parenthesized_expression "(*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4)))" ( (binary_expression "*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))" (binary_expression "*(double *)ppppuVar20 < dVar30" (pointer_expression "*(double *)ppppuVar20" * (cast_expression "(double *)ppppuVar20" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) || (parenthesized_expression "(*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))" ( (binary_expression "*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4)" (pointer_expression "*(byte *)(ppppuVar20 + 4)" * (cast_expression "(byte *)(ppppuVar20 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppuVar20 + 4)" ( (binary_expression "ppppuVar20 + 4" identifier + number_literal) )))) <= (pointer_expression "*(byte *)(ppppuVar4 + 4)" * (cast_expression "(byte *)(ppppuVar4 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppuVar4 + 4)" ( (binary_expression "ppppuVar4 + 4" identifier + number_literal) ))))) ))) )) ))) )) || (parenthesized_expression "(FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)" ( (comma_expression "FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0" (call_expression "FUN_0012e7ac(pppppuVar6,ppppuVar15)" identifier (argument_list "(pppppuVar6,ppppuVar15)" ( identifier , identifier ))) , (comma_expression "ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0" (assignment_expression "ppppuVar4 = ppppuVar20" identifier = identifier) , (binary_expression "ppppuVar15 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)))) ))) )) (break_statement "break;" break ;)) (expression_statement "dVar30 = *(double *)ppppuVar20;" (assignment_expression "dVar30 = *(double *)ppppuVar20" identifier = (pointer_expression "*(double *)ppppuVar20" * (cast_expression "(double *)ppppuVar20" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) })) (return_statement "return ppppuVar4;" return identifier ;) })))
(translation_unit "void fts3InsertDocsize(int *pRC,Fts3Table *p,u32 *aSz)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  RtreeCursor *p_00;\n  sqlite3_vtab *psVar4;\n  int iVar5;\n  int iVar6;\n  RtreeNode **ppRVar7;\n  int *piVar8;\n  RtreeCursor *pRVar9;\n  RtreeCursor *pRVar10;\n  Fts3Table *p_01;\n  RtreeCursor *pRVar11;\n  u32 *puVar12;\n  RtreeCursor *pp;\n  byte *pbVar13;\n  int iVar14;\n  uint *in_a3;\n  uint *puVar15;\n  sqlite3_vtab *psVar16;\n  uint *puVar17;\n  byte *pbVar18;\n  undefined1 *puVar19;\n  uint uVar20;\n  u32 *unaff_s0;\n  RtreeSearchPoint *pRVar21;\n  uint *unaff_s1;\n  int iVar22;\n  RtreeSearchPoint *pRVar23;\n  RtreeCursor *unaff_s2;\n  int *piVar24;\n  RtreeCursor *pRVar25;\n  sqlite3_stmt *unaff_s4;\n  Fts3Table *unaff_s5;\n  uint uVar26;\n  RtreeCursor *pRVar27;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  code *pcVar31;\n  int iVar32;\n  double dVar33;\n  u8 uStack_b5;\n  sqlite3_vtab_cursor sStack_8c;\n  undefined1 auStack_88 [4];\n  sqlite3_vtab *psStack_84;\n  RtreeConstraint *pRStack_7c;\n  u32 *puStack_78;\n  uint *puStack_74;\n  RtreeCursor *pRStack_70;\n  RtreeSearchPoint *pRStack_6c;\n  sqlite3_stmt *psStack_68;\n  Fts3Table *pFStack_64;\n  RtreeNode *pRStack_40;\n  sqlite3_stmt *pStmt;\n  u32 uStack_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  uStack_24 = *(u32 *)PTR___stack_chk_guard_00190e24;\n  pRVar9 = (RtreeCursor *)pRC;\n  p_01 = p;\n  pRVar11 = (RtreeCursor *)aSz;\n  if (*pRC == 0) {\n    unaff_s2 = (RtreeCursor *)p->nColumn;\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = aSz;\n    unaff_s4 = (sqlite3_stmt *)pRC;\n    unaff_s5 = p;\n    if (unaff_s1 == (uint *)0x0) {\n      pRVar11 = (RtreeCursor *)((uint)unaff_s2 >> 0x1e);\n      p_01 = (Fts3Table *)((int)unaff_s2 * 10);\n      pRVar9 = (RtreeCursor *)\n               ((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2);\n      unaff_s2 = (RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (RtreeCursor *)0x0) {\n        iVar14 = p->nColumn;\n        if (0 < iVar14) {\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }\n        in_a3 = (uint *)0x0;\n        pRVar11 = (RtreeCursor *)&pStmt;\n        p_01 = (Fts3Table *)&DAT_00000014;\n        iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);\n        if (iVar14 == 0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }\n        else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *pRC = 7;\n  }\nLAB_00136304:\n  if (uStack_24 == *(u32 *)puVar2) {\n    return;\n  }\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pRStack_6c = (RtreeSearchPoint *)puVar2;\n  piVar24 = *(int **)(puVar28 + 0x5a948);\n  pRStack_7c = (RtreeConstraint *)*piVar24;\n  p_00 = pRVar9;\n  pp = pRVar11;\n  puVar15 = in_a3;\n  puStack_78 = unaff_s0;\n  puStack_74 = unaff_s1;\n  pRStack_70 = unaff_s2;\n  psStack_68 = unaff_s4;\n  pFStack_64 = unaff_s5;\n  if ((pRVar9->base).pVtab == (sqlite3_vtab *)0x0) {\n    iVar22 = p_01->nColumn;\n    pRVar10 = pRVar9;\n    iVar14 = (**(code **)(puVar28 + 0x5a6ac))();\n    if (iVar14 == 0) {\n      uVar26 = iVar22 + 2;\n      pp = (RtreeCursor *)(uVar26 >> 0x1d);\n      pRVar10 = (RtreeCursor *)\n                (uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2);\n      p_00 = (RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)\n      ;\n      if (p_00 != (RtreeCursor *)0x0) {\n        iVar14 = *(int *)(puVar28 + 0x5a788);\n        pp = (RtreeCursor *)&sStack_8c;\n        puVar15 = (uint *)0x0;\n        pRVar10 = pp;\n        psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);\n        if (psVar4 == (sqlite3_vtab *)0x0) {\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pp = pRVar10;\n        (**(code **)(puVar28 + 0x5a490))();\n        (pRVar9->base).pVtab = psVar4;\n        goto LAB_00136530;\n      }\n    }\n    p_00 = pRVar10;\n    (pRVar9->base).pVtab = (sqlite3_vtab *)0x7;\n  }\nLAB_00136530:\n  if (pRStack_7c == (RtreeConstraint *)*piVar24) {\n    return;\n  }\n  pcVar31 = *(code **)(puVar28 + 0x5a91c);\n  (*pcVar31)();\n  iVar22 = p_00->nPointAlloc;\n  dVar33 = (double)CONCAT44(pp,puVar15);\n  iVar14 = p_00->nPoint;\n  pRVar21 = p_00->aPoint;\n  if (iVar22 <= iVar14) {\n    iVar14 = (**(code **)(pcVar31 + 0x5a220))();\n    if (iVar14 == 0) {\n      pRVar21 = (RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21);\n      if (pRVar21 != (RtreeSearchPoint *)0x0) {\n        iVar14 = p_00->nPoint;\n        p_00->aPoint = pRVar21;\n        p_00->nPointAlloc = (iVar22 + 4) * 2;\n        goto LAB_001369b4;\n      }\n    }\n    return;\n  }\nLAB_001369b4:\n  p_00->nPoint = iVar14 + 1;\n  pRVar21 = pRVar21 + iVar14;\n  pRVar21->rScore = dVar33;\n  pRVar21->iLevel = uStack_b5;\n  if (0 < iVar14) {\n    while( true ) {\n      iVar22 = iVar14 + -1 >> 1;\n      pRVar23 = p_00->aPoint + iVar22;\n      if (((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||\n         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)) break;\n      dVar33 = pRVar23->rScore;\n      pRVar21 = pRVar23;\n      iVar14 = iVar22;\n    }\n  }\n  return;\n}\n\n" (function_definition "void fts3InsertDocsize(int *pRC,Fts3Table *p,u32 *aSz)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  RtreeCursor *p_00;\n  sqlite3_vtab *psVar4;\n  int iVar5;\n  int iVar6;\n  RtreeNode **ppRVar7;\n  int *piVar8;\n  RtreeCursor *pRVar9;\n  RtreeCursor *pRVar10;\n  Fts3Table *p_01;\n  RtreeCursor *pRVar11;\n  u32 *puVar12;\n  RtreeCursor *pp;\n  byte *pbVar13;\n  int iVar14;\n  uint *in_a3;\n  uint *puVar15;\n  sqlite3_vtab *psVar16;\n  uint *puVar17;\n  byte *pbVar18;\n  undefined1 *puVar19;\n  uint uVar20;\n  u32 *unaff_s0;\n  RtreeSearchPoint *pRVar21;\n  uint *unaff_s1;\n  int iVar22;\n  RtreeSearchPoint *pRVar23;\n  RtreeCursor *unaff_s2;\n  int *piVar24;\n  RtreeCursor *pRVar25;\n  sqlite3_stmt *unaff_s4;\n  Fts3Table *unaff_s5;\n  uint uVar26;\n  RtreeCursor *pRVar27;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  code *pcVar31;\n  int iVar32;\n  double dVar33;\n  u8 uStack_b5;\n  sqlite3_vtab_cursor sStack_8c;\n  undefined1 auStack_88 [4];\n  sqlite3_vtab *psStack_84;\n  RtreeConstraint *pRStack_7c;\n  u32 *puStack_78;\n  uint *puStack_74;\n  RtreeCursor *pRStack_70;\n  RtreeSearchPoint *pRStack_6c;\n  sqlite3_stmt *psStack_68;\n  Fts3Table *pFStack_64;\n  RtreeNode *pRStack_40;\n  sqlite3_stmt *pStmt;\n  u32 uStack_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  uStack_24 = *(u32 *)PTR___stack_chk_guard_00190e24;\n  pRVar9 = (RtreeCursor *)pRC;\n  p_01 = p;\n  pRVar11 = (RtreeCursor *)aSz;\n  if (*pRC == 0) {\n    unaff_s2 = (RtreeCursor *)p->nColumn;\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = aSz;\n    unaff_s4 = (sqlite3_stmt *)pRC;\n    unaff_s5 = p;\n    if (unaff_s1 == (uint *)0x0) {\n      pRVar11 = (RtreeCursor *)((uint)unaff_s2 >> 0x1e);\n      p_01 = (Fts3Table *)((int)unaff_s2 * 10);\n      pRVar9 = (RtreeCursor *)\n               ((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2);\n      unaff_s2 = (RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (RtreeCursor *)0x0) {\n        iVar14 = p->nColumn;\n        if (0 < iVar14) {\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }\n        in_a3 = (uint *)0x0;\n        pRVar11 = (RtreeCursor *)&pStmt;\n        p_01 = (Fts3Table *)&DAT_00000014;\n        iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);\n        if (iVar14 == 0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }\n        else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *pRC = 7;\n  }\nLAB_00136304:\n  if (uStack_24 == *(u32 *)puVar2) {\n    return;\n  }\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pRStack_6c = (RtreeSearchPoint *)puVar2;\n  piVar24 = *(int **)(puVar28 + 0x5a948);\n  pRStack_7c = (RtreeConstraint *)*piVar24;\n  p_00 = pRVar9;\n  pp = pRVar11;\n  puVar15 = in_a3;\n  puStack_78 = unaff_s0;\n  puStack_74 = unaff_s1;\n  pRStack_70 = unaff_s2;\n  psStack_68 = unaff_s4;\n  pFStack_64 = unaff_s5;\n  if ((pRVar9->base).pVtab == (sqlite3_vtab *)0x0) {\n    iVar22 = p_01->nColumn;\n    pRVar10 = pRVar9;\n    iVar14 = (**(code **)(puVar28 + 0x5a6ac))();\n    if (iVar14 == 0) {\n      uVar26 = iVar22 + 2;\n      pp = (RtreeCursor *)(uVar26 >> 0x1d);\n      pRVar10 = (RtreeCursor *)\n                (uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2);\n      p_00 = (RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)\n      ;\n      if (p_00 != (RtreeCursor *)0x0) {\n        iVar14 = *(int *)(puVar28 + 0x5a788);\n        pp = (RtreeCursor *)&sStack_8c;\n        puVar15 = (uint *)0x0;\n        pRVar10 = pp;\n        psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);\n        if (psVar4 == (sqlite3_vtab *)0x0) {\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pp = pRVar10;\n        (**(code **)(puVar28 + 0x5a490))();\n        (pRVar9->base).pVtab = psVar4;\n        goto LAB_00136530;\n      }\n    }\n    p_00 = pRVar10;\n    (pRVar9->base).pVtab = (sqlite3_vtab *)0x7;\n  }\nLAB_00136530:\n  if (pRStack_7c == (RtreeConstraint *)*piVar24) {\n    return;\n  }\n  pcVar31 = *(code **)(puVar28 + 0x5a91c);\n  (*pcVar31)();\n  iVar22 = p_00->nPointAlloc;\n  dVar33 = (double)CONCAT44(pp,puVar15);\n  iVar14 = p_00->nPoint;\n  pRVar21 = p_00->aPoint;\n  if (iVar22 <= iVar14) {\n    iVar14 = (**(code **)(pcVar31 + 0x5a220))();\n    if (iVar14 == 0) {\n      pRVar21 = (RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21);\n      if (pRVar21 != (RtreeSearchPoint *)0x0) {\n        iVar14 = p_00->nPoint;\n        p_00->aPoint = pRVar21;\n        p_00->nPointAlloc = (iVar22 + 4) * 2;\n        goto LAB_001369b4;\n      }\n    }\n    return;\n  }\nLAB_001369b4:\n  p_00->nPoint = iVar14 + 1;\n  pRVar21 = pRVar21 + iVar14;\n  pRVar21->rScore = dVar33;\n  pRVar21->iLevel = uStack_b5;\n  if (0 < iVar14) {\n    while( true ) {\n      iVar22 = iVar14 + -1 >> 1;\n      pRVar23 = p_00->aPoint + iVar22;\n      if (((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||\n         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)) break;\n      dVar33 = pRVar23->rScore;\n      pRVar21 = pRVar23;\n      iVar14 = iVar22;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "fts3InsertDocsize(int *pRC,Fts3Table *p,u32 *aSz)" identifier (parameter_list "(int *pRC,Fts3Table *p,u32 *aSz)" ( (parameter_declaration "int *pRC" primitive_type (pointer_declarator "*pRC" * identifier)) , (parameter_declaration "Fts3Table *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "u32 *aSz" type_identifier (pointer_declarator "*aSz" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  RtreeCursor *p_00;\n  sqlite3_vtab *psVar4;\n  int iVar5;\n  int iVar6;\n  RtreeNode **ppRVar7;\n  int *piVar8;\n  RtreeCursor *pRVar9;\n  RtreeCursor *pRVar10;\n  Fts3Table *p_01;\n  RtreeCursor *pRVar11;\n  u32 *puVar12;\n  RtreeCursor *pp;\n  byte *pbVar13;\n  int iVar14;\n  uint *in_a3;\n  uint *puVar15;\n  sqlite3_vtab *psVar16;\n  uint *puVar17;\n  byte *pbVar18;\n  undefined1 *puVar19;\n  uint uVar20;\n  u32 *unaff_s0;\n  RtreeSearchPoint *pRVar21;\n  uint *unaff_s1;\n  int iVar22;\n  RtreeSearchPoint *pRVar23;\n  RtreeCursor *unaff_s2;\n  int *piVar24;\n  RtreeCursor *pRVar25;\n  sqlite3_stmt *unaff_s4;\n  Fts3Table *unaff_s5;\n  uint uVar26;\n  RtreeCursor *pRVar27;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  code *pcVar31;\n  int iVar32;\n  double dVar33;\n  u8 uStack_b5;\n  sqlite3_vtab_cursor sStack_8c;\n  undefined1 auStack_88 [4];\n  sqlite3_vtab *psStack_84;\n  RtreeConstraint *pRStack_7c;\n  u32 *puStack_78;\n  uint *puStack_74;\n  RtreeCursor *pRStack_70;\n  RtreeSearchPoint *pRStack_6c;\n  sqlite3_stmt *psStack_68;\n  Fts3Table *pFStack_64;\n  RtreeNode *pRStack_40;\n  sqlite3_stmt *pStmt;\n  u32 uStack_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  uStack_24 = *(u32 *)PTR___stack_chk_guard_00190e24;\n  pRVar9 = (RtreeCursor *)pRC;\n  p_01 = p;\n  pRVar11 = (RtreeCursor *)aSz;\n  if (*pRC == 0) {\n    unaff_s2 = (RtreeCursor *)p->nColumn;\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = aSz;\n    unaff_s4 = (sqlite3_stmt *)pRC;\n    unaff_s5 = p;\n    if (unaff_s1 == (uint *)0x0) {\n      pRVar11 = (RtreeCursor *)((uint)unaff_s2 >> 0x1e);\n      p_01 = (Fts3Table *)((int)unaff_s2 * 10);\n      pRVar9 = (RtreeCursor *)\n               ((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2);\n      unaff_s2 = (RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (RtreeCursor *)0x0) {\n        iVar14 = p->nColumn;\n        if (0 < iVar14) {\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }\n        in_a3 = (uint *)0x0;\n        pRVar11 = (RtreeCursor *)&pStmt;\n        p_01 = (Fts3Table *)&DAT_00000014;\n        iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);\n        if (iVar14 == 0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }\n        else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *pRC = 7;\n  }\nLAB_00136304:\n  if (uStack_24 == *(u32 *)puVar2) {\n    return;\n  }\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pRStack_6c = (RtreeSearchPoint *)puVar2;\n  piVar24 = *(int **)(puVar28 + 0x5a948);\n  pRStack_7c = (RtreeConstraint *)*piVar24;\n  p_00 = pRVar9;\n  pp = pRVar11;\n  puVar15 = in_a3;\n  puStack_78 = unaff_s0;\n  puStack_74 = unaff_s1;\n  pRStack_70 = unaff_s2;\n  psStack_68 = unaff_s4;\n  pFStack_64 = unaff_s5;\n  if ((pRVar9->base).pVtab == (sqlite3_vtab *)0x0) {\n    iVar22 = p_01->nColumn;\n    pRVar10 = pRVar9;\n    iVar14 = (**(code **)(puVar28 + 0x5a6ac))();\n    if (iVar14 == 0) {\n      uVar26 = iVar22 + 2;\n      pp = (RtreeCursor *)(uVar26 >> 0x1d);\n      pRVar10 = (RtreeCursor *)\n                (uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2);\n      p_00 = (RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)\n      ;\n      if (p_00 != (RtreeCursor *)0x0) {\n        iVar14 = *(int *)(puVar28 + 0x5a788);\n        pp = (RtreeCursor *)&sStack_8c;\n        puVar15 = (uint *)0x0;\n        pRVar10 = pp;\n        psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);\n        if (psVar4 == (sqlite3_vtab *)0x0) {\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pp = pRVar10;\n        (**(code **)(puVar28 + 0x5a490))();\n        (pRVar9->base).pVtab = psVar4;\n        goto LAB_00136530;\n      }\n    }\n    p_00 = pRVar10;\n    (pRVar9->base).pVtab = (sqlite3_vtab *)0x7;\n  }\nLAB_00136530:\n  if (pRStack_7c == (RtreeConstraint *)*piVar24) {\n    return;\n  }\n  pcVar31 = *(code **)(puVar28 + 0x5a91c);\n  (*pcVar31)();\n  iVar22 = p_00->nPointAlloc;\n  dVar33 = (double)CONCAT44(pp,puVar15);\n  iVar14 = p_00->nPoint;\n  pRVar21 = p_00->aPoint;\n  if (iVar22 <= iVar14) {\n    iVar14 = (**(code **)(pcVar31 + 0x5a220))();\n    if (iVar14 == 0) {\n      pRVar21 = (RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21);\n      if (pRVar21 != (RtreeSearchPoint *)0x0) {\n        iVar14 = p_00->nPoint;\n        p_00->aPoint = pRVar21;\n        p_00->nPointAlloc = (iVar22 + 4) * 2;\n        goto LAB_001369b4;\n      }\n    }\n    return;\n  }\nLAB_001369b4:\n  p_00->nPoint = iVar14 + 1;\n  pRVar21 = pRVar21 + iVar14;\n  pRVar21->rScore = dVar33;\n  pRVar21->iLevel = uStack_b5;\n  if (0 < iVar14) {\n    while( true ) {\n      iVar22 = iVar14 + -1 >> 1;\n      pRVar23 = p_00->aPoint + iVar22;\n      if (((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||\n         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)) break;\n      dVar33 = pRVar23->rScore;\n      pRVar21 = pRVar23;\n      iVar14 = iVar22;\n    }\n  }\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "RtreeCursor *p_00;" type_identifier (pointer_declarator "*p_00" * identifier) ;) (declaration "sqlite3_vtab *psVar4;" type_identifier (pointer_declarator "*psVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "RtreeNode **ppRVar7;" type_identifier (pointer_declarator "**ppRVar7" * (pointer_declarator "*ppRVar7" * identifier)) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "RtreeCursor *pRVar9;" type_identifier (pointer_declarator "*pRVar9" * identifier) ;) (declaration "RtreeCursor *pRVar10;" type_identifier (pointer_declarator "*pRVar10" * identifier) ;) (declaration "Fts3Table *p_01;" type_identifier (pointer_declarator "*p_01" * identifier) ;) (declaration "RtreeCursor *pRVar11;" type_identifier (pointer_declarator "*pRVar11" * identifier) ;) (declaration "u32 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "RtreeCursor *pp;" type_identifier (pointer_declarator "*pp" * identifier) ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "sqlite3_vtab *psVar16;" type_identifier (pointer_declarator "*psVar16" * identifier) ;) (declaration "uint *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "u32 *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "RtreeSearchPoint *pRVar21;" type_identifier (pointer_declarator "*pRVar21" * identifier) ;) (declaration "uint *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "RtreeSearchPoint *pRVar23;" type_identifier (pointer_declarator "*pRVar23" * identifier) ;) (declaration "RtreeCursor *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "RtreeCursor *pRVar25;" type_identifier (pointer_declarator "*pRVar25" * identifier) ;) (declaration "sqlite3_stmt *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "Fts3Table *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "RtreeCursor *pRVar27;" type_identifier (pointer_declarator "*pRVar27" * 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 "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "double dVar33;" primitive_type identifier ;) (declaration "u8 uStack_b5;" type_identifier identifier ;) (declaration "sqlite3_vtab_cursor sStack_8c;" type_identifier identifier ;) (declaration "undefined1 auStack_88 [4];" type_identifier (array_declarator "auStack_88 [4]" identifier [ number_literal ]) ;) (declaration "sqlite3_vtab *psStack_84;" type_identifier (pointer_declarator "*psStack_84" * identifier) ;) (declaration "RtreeConstraint *pRStack_7c;" type_identifier (pointer_declarator "*pRStack_7c" * identifier) ;) (declaration "u32 *puStack_78;" type_identifier (pointer_declarator "*puStack_78" * identifier) ;) (declaration "uint *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "RtreeCursor *pRStack_70;" type_identifier (pointer_declarator "*pRStack_70" * identifier) ;) (declaration "RtreeSearchPoint *pRStack_6c;" type_identifier (pointer_declarator "*pRStack_6c" * identifier) ;) (declaration "sqlite3_stmt *psStack_68;" type_identifier (pointer_declarator "*psStack_68" * identifier) ;) (declaration "Fts3Table *pFStack_64;" type_identifier (pointer_declarator "*pFStack_64" * identifier) ;) (declaration "RtreeNode *pRStack_40;" type_identifier (pointer_declarator "*pRStack_40" * identifier) ;) (declaration "sqlite3_stmt *pStmt;" type_identifier (pointer_declarator "*pStmt" * identifier) ;) (declaration "u32 uStack_24;" type_identifier identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "uStack_24 = *(u32 *)PTR___stack_chk_guard_00190e24;" (assignment_expression "uStack_24 = *(u32 *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(u32 *)PTR___stack_chk_guard_00190e24" * (cast_expression "(u32 *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pRVar9 = (RtreeCursor *)pRC;" (assignment_expression "pRVar9 = (RtreeCursor *)pRC" identifier = (cast_expression "(RtreeCursor *)pRC" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "p_01 = p;" (assignment_expression "p_01 = p" identifier = identifier) ;) (expression_statement "pRVar11 = (RtreeCursor *)aSz;" (assignment_expression "pRVar11 = (RtreeCursor *)aSz" identifier = (cast_expression "(RtreeCursor *)aSz" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*pRC == 0) {\n    unaff_s2 = (RtreeCursor *)p->nColumn;\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = aSz;\n    unaff_s4 = (sqlite3_stmt *)pRC;\n    unaff_s5 = p;\n    if (unaff_s1 == (uint *)0x0) {\n      pRVar11 = (RtreeCursor *)((uint)unaff_s2 >> 0x1e);\n      p_01 = (Fts3Table *)((int)unaff_s2 * 10);\n      pRVar9 = (RtreeCursor *)\n               ((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2);\n      unaff_s2 = (RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (RtreeCursor *)0x0) {\n        iVar14 = p->nColumn;\n        if (0 < iVar14) {\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }\n        in_a3 = (uint *)0x0;\n        pRVar11 = (RtreeCursor *)&pStmt;\n        p_01 = (Fts3Table *)&DAT_00000014;\n        iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);\n        if (iVar14 == 0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }\n        else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *pRC = 7;\n  }" if (parenthesized_expression "(*pRC == 0)" ( (binary_expression "*pRC == 0" (pointer_expression "*pRC" * identifier) == number_literal) )) (compound_statement "{\n    unaff_s2 = (RtreeCursor *)p->nColumn;\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = aSz;\n    unaff_s4 = (sqlite3_stmt *)pRC;\n    unaff_s5 = p;\n    if (unaff_s1 == (uint *)0x0) {\n      pRVar11 = (RtreeCursor *)((uint)unaff_s2 >> 0x1e);\n      p_01 = (Fts3Table *)((int)unaff_s2 * 10);\n      pRVar9 = (RtreeCursor *)\n               ((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2);\n      unaff_s2 = (RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (RtreeCursor *)0x0) {\n        iVar14 = p->nColumn;\n        if (0 < iVar14) {\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }\n        in_a3 = (uint *)0x0;\n        pRVar11 = (RtreeCursor *)&pStmt;\n        p_01 = (Fts3Table *)&DAT_00000014;\n        iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);\n        if (iVar14 == 0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }\n        else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *pRC = 7;\n  }" { (expression_statement "unaff_s2 = (RtreeCursor *)p->nColumn;" (assignment_expression "unaff_s2 = (RtreeCursor *)p->nColumn" identifier = (cast_expression "(RtreeCursor *)p->nColumn" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p->nColumn" identifier -> field_identifier))) ;) (expression_statement "unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();" (assignment_expression "unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)()" identifier = (cast_expression "(uint *)(*(code *)PTR_sqlite3_initialize_00190b88)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_initialize_00190b88)()" (parenthesized_expression "(*(code *)PTR_sqlite3_initialize_00190b88)" ( (pointer_expression "*(code *)PTR_sqlite3_initialize_00190b88" * (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s0 = aSz;" (assignment_expression "unaff_s0 = aSz" identifier = identifier) ;) (expression_statement "unaff_s4 = (sqlite3_stmt *)pRC;" (assignment_expression "unaff_s4 = (sqlite3_stmt *)pRC" identifier = (cast_expression "(sqlite3_stmt *)pRC" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s5 = p;" (assignment_expression "unaff_s5 = p" identifier = identifier) ;) (if_statement "if (unaff_s1 == (uint *)0x0) {\n      pRVar11 = (RtreeCursor *)((uint)unaff_s2 >> 0x1e);\n      p_01 = (Fts3Table *)((int)unaff_s2 * 10);\n      pRVar9 = (RtreeCursor *)\n               ((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2);\n      unaff_s2 = (RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (RtreeCursor *)0x0) {\n        iVar14 = p->nColumn;\n        if (0 < iVar14) {\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }\n        in_a3 = (uint *)0x0;\n        pRVar11 = (RtreeCursor *)&pStmt;\n        p_01 = (Fts3Table *)&DAT_00000014;\n        iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);\n        if (iVar14 == 0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }\n        else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }\n        goto LAB_00136304;\n      }\n    }" if (parenthesized_expression "(unaff_s1 == (uint *)0x0)" ( (binary_expression "unaff_s1 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pRVar11 = (RtreeCursor *)((uint)unaff_s2 >> 0x1e);\n      p_01 = (Fts3Table *)((int)unaff_s2 * 10);\n      pRVar9 = (RtreeCursor *)\n               ((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2);\n      unaff_s2 = (RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (RtreeCursor *)0x0) {\n        iVar14 = p->nColumn;\n        if (0 < iVar14) {\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }\n        in_a3 = (uint *)0x0;\n        pRVar11 = (RtreeCursor *)&pStmt;\n        p_01 = (Fts3Table *)&DAT_00000014;\n        iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);\n        if (iVar14 == 0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }\n        else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }\n        goto LAB_00136304;\n      }\n    }" { (expression_statement "pRVar11 = (RtreeCursor *)((uint)unaff_s2 >> 0x1e);" (assignment_expression "pRVar11 = (RtreeCursor *)((uint)unaff_s2 >> 0x1e)" identifier = (cast_expression "(RtreeCursor *)((uint)unaff_s2 >> 0x1e)" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s2 >> 0x1e)" ( (binary_expression "(uint)unaff_s2 >> 0x1e" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "p_01 = (Fts3Table *)((int)unaff_s2 * 10);" (assignment_expression "p_01 = (Fts3Table *)((int)unaff_s2 * 10)" identifier = (cast_expression "(Fts3Table *)((int)unaff_s2 * 10)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s2 * 10)" ( (binary_expression "(int)unaff_s2 * 10" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pRVar9 = (RtreeCursor *)\n               ((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2);" (assignment_expression "pRVar9 = (RtreeCursor *)\n               ((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2)" identifier = (cast_expression "(RtreeCursor *)\n               ((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2)" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2)" ( (binary_expression "(uint)((int)unaff_s2 * 5) >> 0x1f |\n               ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2" (binary_expression "(uint)((int)unaff_s2 * 5) >> 0x1f" (call_expression "(uint)((int)unaff_s2 * 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s2 * 5)" ( (binary_expression "(int)unaff_s2 * 5" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) | (binary_expression "((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) * 2" (parenthesized_expression "((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f))" ( (binary_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)" (binary_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n               ((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2)" (call_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4))" ( (binary_expression "(uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)" (call_expression "(uint)((int)unaff_s2 * 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s2 * 5)" ( (binary_expression "(int)unaff_s2 * 5" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) < (call_expression "(uint)((int)unaff_s2 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s2 * 4)" ( (binary_expression "(int)unaff_s2 * 4" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ))) + (parenthesized_expression "((uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2)" ( (binary_expression "(uint)pRVar11 | ((int)unaff_s2 >> 0x1f) << 2" (cast_expression "(uint)pRVar11" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)unaff_s2 >> 0x1f) << 2" (parenthesized_expression "((int)unaff_s2 >> 0x1f)" ( (binary_expression "(int)unaff_s2 >> 0x1f" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) ))) + (parenthesized_expression "((int)unaff_s2 >> 0x1f)" ( (binary_expression "(int)unaff_s2 >> 0x1f" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) * number_literal)) )))) ;) (expression_statement "unaff_s2 = (RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();" (assignment_expression "unaff_s2 = (RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" identifier = (cast_expression "(RtreeCursor *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2b48)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2b48" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (if_statement "if (unaff_s2 != (RtreeCursor *)0x0) {\n        iVar14 = p->nColumn;\n        if (0 < iVar14) {\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }\n        in_a3 = (uint *)0x0;\n        pRVar11 = (RtreeCursor *)&pStmt;\n        p_01 = (Fts3Table *)&DAT_00000014;\n        iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);\n        if (iVar14 == 0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }\n        else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }\n        goto LAB_00136304;\n      }" if (parenthesized_expression "(unaff_s2 != (RtreeCursor *)0x0)" ( (binary_expression "unaff_s2 != (RtreeCursor *)0x0" identifier != (cast_expression "(RtreeCursor *)0x0" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar14 = p->nColumn;\n        if (0 < iVar14) {\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }\n        in_a3 = (uint *)0x0;\n        pRVar11 = (RtreeCursor *)&pStmt;\n        p_01 = (Fts3Table *)&DAT_00000014;\n        iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);\n        if (iVar14 == 0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }\n        else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }\n        goto LAB_00136304;\n      }" { (expression_statement "iVar14 = p->nColumn;" (assignment_expression "iVar14 = p->nColumn" identifier = (field_expression "p->nColumn" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar14) {\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }" if (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) (compound_statement "{\n          unaff_s1 = (uint *)0x0;\n          puVar12 = aSz;\n          do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);\n        }" { (expression_statement "unaff_s1 = (uint *)0x0;" (assignment_expression "unaff_s1 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar12 = aSz;" (assignment_expression "puVar12 = aSz" identifier = identifier) ;) (do_statement "do {\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          } while (aSz + iVar14 != puVar12);" do (compound_statement "{\n            pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));\n            uVar26 = *puVar12;\n            pbVar3 = pbVar18;\n            do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);\n            puVar12 = puVar12 + 1;\n            *pbVar13 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));\n          }" { (expression_statement "pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10));" (assignment_expression "pbVar18 = (byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10))" identifier = (cast_expression "(byte *)((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + (int)(unaff_s2->aNode + -0x10))" ( (binary_expression "(int)unaff_s1 + (int)(unaff_s2->aNode + -0x10)" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2->aNode + -0x10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2->aNode + -0x10)" ( (binary_expression "unaff_s2->aNode + -0x10" (field_expression "unaff_s2->aNode" identifier -> field_identifier) + number_literal) )))) )))) ;) (expression_statement "uVar26 = *puVar12;" (assignment_expression "uVar26 = *puVar12" identifier = (pointer_expression "*puVar12" * identifier)) ;) (expression_statement "pbVar3 = pbVar18;" (assignment_expression "pbVar3 = pbVar18" identifier = identifier) ;) (do_statement "do {\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            } while (uVar20 != 0);" do (compound_statement "{\n              pbVar13 = pbVar3;\n              uVar20 = uVar26 >> 7;\n              bVar1 = (byte)uVar26;\n              *pbVar13 = bVar1 | 0x80;\n              uVar26 = uVar20;\n              pbVar3 = pbVar13 + 1;\n            }" { (expression_statement "pbVar13 = pbVar3;" (assignment_expression "pbVar13 = pbVar3" identifier = identifier) ;) (expression_statement "uVar20 = uVar26 >> 7;" (assignment_expression "uVar20 = uVar26 >> 7" identifier = (binary_expression "uVar26 >> 7" identifier >> number_literal)) ;) (expression_statement "bVar1 = (byte)uVar26;" (assignment_expression "bVar1 = (byte)uVar26" identifier = (cast_expression "(byte)uVar26" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar13 = bVar1 | 0x80;" (assignment_expression "*pbVar13 = bVar1 | 0x80" (pointer_expression "*pbVar13" * identifier) = (binary_expression "bVar1 | 0x80" identifier | number_literal)) ;) (expression_statement "uVar26 = uVar20;" (assignment_expression "uVar26 = uVar20" identifier = identifier) ;) (expression_statement "pbVar3 = pbVar13 + 1;" (assignment_expression "pbVar3 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) ;) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar13 = bVar1 & 0x7f;" (assignment_expression "*pbVar13 = bVar1 & 0x7f" (pointer_expression "*pbVar13" * identifier) = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (expression_statement "unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18));" (assignment_expression "unaff_s1 = (uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18))" identifier = (cast_expression "(uint *)((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18))" ( (binary_expression "(int)unaff_s1 + ((int)(pbVar13 + 1) - (int)pbVar18)" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pbVar13 + 1) - (int)pbVar18)" ( (binary_expression "(int)(pbVar13 + 1) - (int)pbVar18" (cast_expression "(int)(pbVar13 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar13 + 1)" ( (binary_expression "pbVar13 + 1" identifier + number_literal) ))) - (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) }) while (parenthesized_expression "(aSz + iVar14 != puVar12)" ( (binary_expression "aSz + iVar14 != puVar12" (binary_expression "aSz + iVar14" identifier + identifier) != identifier) )) ;) })) (expression_statement "in_a3 = (uint *)0x0;" (assignment_expression "in_a3 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pRVar11 = (RtreeCursor *)&pStmt;" (assignment_expression "pRVar11 = (RtreeCursor *)&pStmt" identifier = (cast_expression "(RtreeCursor *)&pStmt" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pStmt" & identifier))) ;) (expression_statement "p_01 = (Fts3Table *)&DAT_00000014;" (assignment_expression "p_01 = (Fts3Table *)&DAT_00000014" identifier = (cast_expression "(Fts3Table *)&DAT_00000014" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000014" & identifier))) ;) (expression_statement "iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0);" (assignment_expression "iVar14 = fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0)" identifier = (call_expression "fts3SqlStmt(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0)" identifier (argument_list "(p,0x14,(sqlite3_stmt **)pRVar11,(sqlite3_value **)0x0)" ( identifier , number_literal , (cast_expression "(sqlite3_stmt **)pRVar11" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (if_statement "if (iVar14 == 0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }\n        else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);\n          p_01 = (Fts3Table *)&SUB_00000002;\n          pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;\n          pRVar11 = unaff_s2;\n          in_a3 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);\n          (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n          iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();\n          *pRC = iVar14;\n          pRVar9 = (RtreeCursor *)pStmt;\n        }" { (expression_statement "(*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid);" (call_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid)" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)" ( (pointer_expression "*(code *)PTR_sqlite3_bind_int64_00190a90" * (cast_expression "(code *)PTR_sqlite3_bind_int64_00190a90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pStmt,1,*(undefined4 *)&p->iPrevDocid,(int)p->iPrevDocid)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)&p->iPrevDocid" * (cast_expression "(undefined4 *)&p->iPrevDocid" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p->iPrevDocid" & (field_expression "p->iPrevDocid" identifier -> field_identifier)))) , (cast_expression "(int)p->iPrevDocid" ( (type_descriptor "int" primitive_type) ) (field_expression "p->iPrevDocid" identifier -> field_identifier)) ))) ;) (expression_statement "p_01 = (Fts3Table *)&SUB_00000002;" (assignment_expression "p_01 = (Fts3Table *)&SUB_00000002" identifier = (cast_expression "(Fts3Table *)&SUB_00000002" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c;" (assignment_expression "pRStack_40 = (RtreeNode *)PTR_sqlite3_free_0019096c" identifier = (cast_expression "(RtreeNode *)PTR_sqlite3_free_0019096c" ( (type_descriptor "RtreeNode *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pRVar11 = unaff_s2;" (assignment_expression "pRVar11 = unaff_s2" identifier = identifier) ;) (expression_statement "in_a3 = unaff_s1;" (assignment_expression "in_a3 = unaff_s1" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt);" (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))(pStmt)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x2f8c)" * (cast_expression "(code *)(PTR_LAB_00190bdc + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x2f8c)" ( (binary_expression "PTR_LAB_00190bdc + 0x2f8c" identifier + number_literal) )))) )) (argument_list "(pStmt)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sqlite3_step_00190990)(pStmt);" (call_expression "(*(code *)PTR_sqlite3_step_00190990)(pStmt)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_00190990)" ( (pointer_expression "*(code *)PTR_sqlite3_step_00190990" * (cast_expression "(code *)PTR_sqlite3_step_00190990" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pStmt)" ( identifier ))) ;) (expression_statement "iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)();" (assignment_expression "iVar14 = (*(code *)PTR_sqlite3_reset_00190a5c)()" identifier = (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)()" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_00190a5c)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_00190a5c" * (cast_expression "(code *)PTR_sqlite3_reset_00190a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "*pRC = iVar14;" (assignment_expression "*pRC = iVar14" (pointer_expression "*pRC" * identifier) = identifier) ;) (expression_statement "pRVar9 = (RtreeCursor *)pStmt;" (assignment_expression "pRVar9 = (RtreeCursor *)pStmt" identifier = (cast_expression "(RtreeCursor *)pStmt" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }" else (compound_statement "{\n          pRVar9 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *pRC = iVar14;\n        }" { (expression_statement "pRVar9 = unaff_s2;" (assignment_expression "pRVar9 = unaff_s2" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)();" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)()" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "*pRC = iVar14;" (assignment_expression "*pRC = iVar14" (pointer_expression "*pRC" * identifier) = identifier) ;) }))) (goto_statement "goto LAB_00136304;" goto statement_identifier ;) })) })) (expression_statement "*pRC = 7;" (assignment_expression "*pRC = 7" (pointer_expression "*pRC" * identifier) = number_literal) ;) })) (labeled_statement "LAB_00136304:\n  if (uStack_24 == *(u32 *)puVar2) {\n    return;\n  }" statement_identifier : (if_statement "if (uStack_24 == *(u32 *)puVar2) {\n    return;\n  }" if (parenthesized_expression "(uStack_24 == *(u32 *)puVar2)" ( (binary_expression "uStack_24 == *(u32 *)puVar2" identifier == (pointer_expression "*(u32 *)puVar2" * (cast_expression "(u32 *)puVar2" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (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 "pRStack_6c = (RtreeSearchPoint *)puVar2;" (assignment_expression "pRStack_6c = (RtreeSearchPoint *)puVar2" identifier = (cast_expression "(RtreeSearchPoint *)puVar2" ( (type_descriptor "RtreeSearchPoint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar24 = *(int **)(puVar28 + 0x5a948);" (assignment_expression "piVar24 = *(int **)(puVar28 + 0x5a948)" identifier = (pointer_expression "*(int **)(puVar28 + 0x5a948)" * (cast_expression "(int **)(puVar28 + 0x5a948)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a948)" ( (binary_expression "puVar28 + 0x5a948" identifier + number_literal) ))))) ;) (expression_statement "pRStack_7c = (RtreeConstraint *)*piVar24;" (assignment_expression "pRStack_7c = (RtreeConstraint *)*piVar24" identifier = (cast_expression "(RtreeConstraint *)*piVar24" ( (type_descriptor "RtreeConstraint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) ;) (expression_statement "p_00 = pRVar9;" (assignment_expression "p_00 = pRVar9" identifier = identifier) ;) (expression_statement "pp = pRVar11;" (assignment_expression "pp = pRVar11" identifier = identifier) ;) (expression_statement "puVar15 = in_a3;" (assignment_expression "puVar15 = in_a3" identifier = identifier) ;) (expression_statement "puStack_78 = unaff_s0;" (assignment_expression "puStack_78 = unaff_s0" identifier = identifier) ;) (expression_statement "puStack_74 = unaff_s1;" (assignment_expression "puStack_74 = unaff_s1" identifier = identifier) ;) (expression_statement "pRStack_70 = unaff_s2;" (assignment_expression "pRStack_70 = unaff_s2" identifier = identifier) ;) (expression_statement "psStack_68 = unaff_s4;" (assignment_expression "psStack_68 = unaff_s4" identifier = identifier) ;) (expression_statement "pFStack_64 = unaff_s5;" (assignment_expression "pFStack_64 = unaff_s5" identifier = identifier) ;) (if_statement "if ((pRVar9->base).pVtab == (sqlite3_vtab *)0x0) {\n    iVar22 = p_01->nColumn;\n    pRVar10 = pRVar9;\n    iVar14 = (**(code **)(puVar28 + 0x5a6ac))();\n    if (iVar14 == 0) {\n      uVar26 = iVar22 + 2;\n      pp = (RtreeCursor *)(uVar26 >> 0x1d);\n      pRVar10 = (RtreeCursor *)\n                (uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2);\n      p_00 = (RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)\n      ;\n      if (p_00 != (RtreeCursor *)0x0) {\n        iVar14 = *(int *)(puVar28 + 0x5a788);\n        pp = (RtreeCursor *)&sStack_8c;\n        puVar15 = (uint *)0x0;\n        pRVar10 = pp;\n        psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);\n        if (psVar4 == (sqlite3_vtab *)0x0) {\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pp = pRVar10;\n        (**(code **)(puVar28 + 0x5a490))();\n        (pRVar9->base).pVtab = psVar4;\n        goto LAB_00136530;\n      }\n    }\n    p_00 = pRVar10;\n    (pRVar9->base).pVtab = (sqlite3_vtab *)0x7;\n  }" if (parenthesized_expression "((pRVar9->base).pVtab == (sqlite3_vtab *)0x0)" ( (binary_expression "(pRVar9->base).pVtab == (sqlite3_vtab *)0x0" (field_expression "(pRVar9->base).pVtab" (parenthesized_expression "(pRVar9->base)" ( (field_expression "pRVar9->base" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar22 = p_01->nColumn;\n    pRVar10 = pRVar9;\n    iVar14 = (**(code **)(puVar28 + 0x5a6ac))();\n    if (iVar14 == 0) {\n      uVar26 = iVar22 + 2;\n      pp = (RtreeCursor *)(uVar26 >> 0x1d);\n      pRVar10 = (RtreeCursor *)\n                (uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2);\n      p_00 = (RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)\n      ;\n      if (p_00 != (RtreeCursor *)0x0) {\n        iVar14 = *(int *)(puVar28 + 0x5a788);\n        pp = (RtreeCursor *)&sStack_8c;\n        puVar15 = (uint *)0x0;\n        pRVar10 = pp;\n        psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);\n        if (psVar4 == (sqlite3_vtab *)0x0) {\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pp = pRVar10;\n        (**(code **)(puVar28 + 0x5a490))();\n        (pRVar9->base).pVtab = psVar4;\n        goto LAB_00136530;\n      }\n    }\n    p_00 = pRVar10;\n    (pRVar9->base).pVtab = (sqlite3_vtab *)0x7;\n  }" { (expression_statement "iVar22 = p_01->nColumn;" (assignment_expression "iVar22 = p_01->nColumn" identifier = (field_expression "p_01->nColumn" identifier -> field_identifier)) ;) (expression_statement "pRVar10 = pRVar9;" (assignment_expression "pRVar10 = pRVar9" identifier = identifier) ;) (expression_statement "iVar14 = (**(code **)(puVar28 + 0x5a6ac))();" (assignment_expression "iVar14 = (**(code **)(puVar28 + 0x5a6ac))()" identifier = (call_expression "(**(code **)(puVar28 + 0x5a6ac))()" (parenthesized_expression "(**(code **)(puVar28 + 0x5a6ac))" ( (pointer_expression "**(code **)(puVar28 + 0x5a6ac)" * (pointer_expression "*(code **)(puVar28 + 0x5a6ac)" * (cast_expression "(code **)(puVar28 + 0x5a6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a6ac)" ( (binary_expression "puVar28 + 0x5a6ac" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar14 == 0) {\n      uVar26 = iVar22 + 2;\n      pp = (RtreeCursor *)(uVar26 >> 0x1d);\n      pRVar10 = (RtreeCursor *)\n                (uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2);\n      p_00 = (RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)\n      ;\n      if (p_00 != (RtreeCursor *)0x0) {\n        iVar14 = *(int *)(puVar28 + 0x5a788);\n        pp = (RtreeCursor *)&sStack_8c;\n        puVar15 = (uint *)0x0;\n        pRVar10 = pp;\n        psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);\n        if (psVar4 == (sqlite3_vtab *)0x0) {\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pp = pRVar10;\n        (**(code **)(puVar28 + 0x5a490))();\n        (pRVar9->base).pVtab = psVar4;\n        goto LAB_00136530;\n      }\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar26 = iVar22 + 2;\n      pp = (RtreeCursor *)(uVar26 >> 0x1d);\n      pRVar10 = (RtreeCursor *)\n                (uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2);\n      p_00 = (RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)\n      ;\n      if (p_00 != (RtreeCursor *)0x0) {\n        iVar14 = *(int *)(puVar28 + 0x5a788);\n        pp = (RtreeCursor *)&sStack_8c;\n        puVar15 = (uint *)0x0;\n        pRVar10 = pp;\n        psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);\n        if (psVar4 == (sqlite3_vtab *)0x0) {\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pp = pRVar10;\n        (**(code **)(puVar28 + 0x5a490))();\n        (pRVar9->base).pVtab = psVar4;\n        goto LAB_00136530;\n      }\n    }" { (expression_statement "uVar26 = iVar22 + 2;" (assignment_expression "uVar26 = iVar22 + 2" identifier = (binary_expression "iVar22 + 2" identifier + number_literal)) ;) (expression_statement "pp = (RtreeCursor *)(uVar26 >> 0x1d);" (assignment_expression "pp = (RtreeCursor *)(uVar26 >> 0x1d)" identifier = (cast_expression "(RtreeCursor *)(uVar26 >> 0x1d)" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar26 >> 0x1d)" ( (binary_expression "uVar26 >> 0x1d" identifier >> number_literal) )))) ;) (expression_statement "pRVar10 = (RtreeCursor *)\n                (uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2);" (assignment_expression "pRVar10 = (RtreeCursor *)\n                (uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2)" identifier = (cast_expression "(RtreeCursor *)\n                (uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2)" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2)" ( (binary_expression "uVar26 * 7 >> 0x1f |\n                ((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2" (binary_expression "uVar26 * 7 >> 0x1f" (binary_expression "uVar26 * 7" identifier * number_literal) >> number_literal) | (binary_expression "((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)) * 2" (parenthesized_expression "((((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7))" ( (binary_expression "(((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)) -\n                (uint)(uVar26 * 8 < uVar26 * 7)" (parenthesized_expression "(((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f))" ( (binary_expression "((uint)pp | ((int)uVar26 >> 0x1f) << 3) - ((int)uVar26 >> 0x1f)" (parenthesized_expression "((uint)pp | ((int)uVar26 >> 0x1f) << 3)" ( (binary_expression "(uint)pp | ((int)uVar26 >> 0x1f) << 3" (cast_expression "(uint)pp" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)uVar26 >> 0x1f) << 3" (parenthesized_expression "((int)uVar26 >> 0x1f)" ( (binary_expression "(int)uVar26 >> 0x1f" (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) )) - (parenthesized_expression "((int)uVar26 >> 0x1f)" ( (binary_expression "(int)uVar26 >> 0x1f" (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar26 * 8 < uVar26 * 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar26 * 8 < uVar26 * 7)" ( (binary_expression "uVar26 * 8 < uVar26 * 7" (binary_expression "uVar26 * 8" identifier * number_literal) < (binary_expression "uVar26 * 7" identifier * number_literal)) )))) )) * number_literal)) )))) ;) (expression_statement "p_00 = (RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)\n      ;" (assignment_expression "p_00 = (RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)" identifier = (cast_expression "(RtreeCursor *)(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))(pRVar10,uVar26 * 0xe)" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48))" ( (pointer_expression "*(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48)" * (cast_expression "(code *)(*(int *)(puVar28 + 0x5a6cc) + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar28 + 0x5a6cc) + -0x2b48)" ( (binary_expression "*(int *)(puVar28 + 0x5a6cc) + -0x2b48" (pointer_expression "*(int *)(puVar28 + 0x5a6cc)" * (cast_expression "(int *)(puVar28 + 0x5a6cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x5a6cc)" ( (binary_expression "puVar28 + 0x5a6cc" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pRVar10,uVar26 * 0xe)" ( identifier , (binary_expression "uVar26 * 0xe" identifier * number_literal) ))))) ;) (if_statement "if (p_00 != (RtreeCursor *)0x0) {\n        iVar14 = *(int *)(puVar28 + 0x5a788);\n        pp = (RtreeCursor *)&sStack_8c;\n        puVar15 = (uint *)0x0;\n        pRVar10 = pp;\n        psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);\n        if (psVar4 == (sqlite3_vtab *)0x0) {\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pp = pRVar10;\n        (**(code **)(puVar28 + 0x5a490))();\n        (pRVar9->base).pVtab = psVar4;\n        goto LAB_00136530;\n      }" if (parenthesized_expression "(p_00 != (RtreeCursor *)0x0)" ( (binary_expression "p_00 != (RtreeCursor *)0x0" identifier != (cast_expression "(RtreeCursor *)0x0" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar14 = *(int *)(puVar28 + 0x5a788);\n        pp = (RtreeCursor *)&sStack_8c;\n        puVar15 = (uint *)0x0;\n        pRVar10 = pp;\n        psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);\n        if (psVar4 == (sqlite3_vtab *)0x0) {\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pp = pRVar10;\n        (**(code **)(puVar28 + 0x5a490))();\n        (pRVar9->base).pVtab = psVar4;\n        goto LAB_00136530;\n      }" { (expression_statement "iVar14 = *(int *)(puVar28 + 0x5a788);" (assignment_expression "iVar14 = *(int *)(puVar28 + 0x5a788)" identifier = (pointer_expression "*(int *)(puVar28 + 0x5a788)" * (cast_expression "(int *)(puVar28 + 0x5a788)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x5a788)" ( (binary_expression "puVar28 + 0x5a788" identifier + number_literal) ))))) ;) (expression_statement "pp = (RtreeCursor *)&sStack_8c;" (assignment_expression "pp = (RtreeCursor *)&sStack_8c" identifier = (cast_expression "(RtreeCursor *)&sStack_8c" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sStack_8c" & identifier))) ;) (expression_statement "puVar15 = (uint *)0x0;" (assignment_expression "puVar15 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pRVar10 = pp;" (assignment_expression "pRVar10 = pp" identifier = identifier) ;) (expression_statement "psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0);" (assignment_expression "psVar4 = (sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0)" identifier = (cast_expression "(sqlite3_vtab *)fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fts3SqlStmt(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0)" identifier (argument_list "(p_01,0x16,(sqlite3_stmt **)pp,(sqlite3_value **)0x0)" ( identifier , number_literal , (cast_expression "(sqlite3_stmt **)pp" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))))) ;) (if_statement "if (psVar4 == (sqlite3_vtab *)0x0) {\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }" if (parenthesized_expression "(psVar4 == (sqlite3_vtab *)0x0)" ( (binary_expression "psVar4 == (sqlite3_vtab *)0x0" identifier == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar31 = *(code **)(puVar28 + 0x5a5b4);\n          puVar15 = (uint *)0x0;\n          pcVar29 = *(code **)(puVar28 + 0x5a4b4);\n          pRVar10 = (RtreeCursor *)0x0;\n          pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);\n          (*pcVar31)(sStack_8c.pVtab,1);\n          iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);\n          if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }\n          psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n          if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }\n        }" { (expression_statement "pcVar31 = *(code **)(puVar28 + 0x5a5b4);" (assignment_expression "pcVar31 = *(code **)(puVar28 + 0x5a5b4)" identifier = (pointer_expression "*(code **)(puVar28 + 0x5a5b4)" * (cast_expression "(code **)(puVar28 + 0x5a5b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a5b4)" ( (binary_expression "puVar28 + 0x5a5b4" identifier + number_literal) ))))) ;) (expression_statement "puVar15 = (uint *)0x0;" (assignment_expression "puVar15 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar29 = *(code **)(puVar28 + 0x5a4b4);" (assignment_expression "pcVar29 = *(code **)(puVar28 + 0x5a4b4)" identifier = (pointer_expression "*(code **)(puVar28 + 0x5a4b4)" * (cast_expression "(code **)(puVar28 + 0x5a4b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a4b4)" ( (binary_expression "puVar28 + 0x5a4b4" identifier + number_literal) ))))) ;) (expression_statement "pRVar10 = (RtreeCursor *)0x0;" (assignment_expression "pRVar10 = (RtreeCursor *)0x0" identifier = (cast_expression "(RtreeCursor *)0x0" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8);" (assignment_expression "pRVar25 = (RtreeCursor *)(iVar22 * 4 + 8)" identifier = (cast_expression "(RtreeCursor *)(iVar22 * 4 + 8)" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 * 4 + 8)" ( (binary_expression "iVar22 * 4 + 8" (binary_expression "iVar22 * 4" identifier * number_literal) + number_literal) )))) ;) (expression_statement "(*pcVar31)(sStack_8c.pVtab,1);" (call_expression "(*pcVar31)(sStack_8c.pVtab,1)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(sStack_8c.pVtab,1)" ( (field_expression "sStack_8c.pVtab" identifier . field_identifier) , number_literal ))) ;) (expression_statement "iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab);" (assignment_expression "iVar22 = (**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab)" identifier = (call_expression "(**(code **)(puVar28 + 0x5a4b4))(sStack_8c.pVtab)" (parenthesized_expression "(**(code **)(puVar28 + 0x5a4b4))" ( (pointer_expression "**(code **)(puVar28 + 0x5a4b4)" * (pointer_expression "*(code **)(puVar28 + 0x5a4b4)" * (cast_expression "(code **)(puVar28 + 0x5a4b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a4b4)" ( (binary_expression "puVar28 + 0x5a4b4" identifier + number_literal) ))))) )) (argument_list "(sStack_8c.pVtab)" ( (field_expression "sStack_8c.pVtab" identifier . field_identifier) )))) ;) (if_statement "if (iVar22 == 100) {\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }\n          else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }" if (parenthesized_expression "(iVar22 == 100)" ( (binary_expression "iVar22 == 100" identifier == number_literal) )) (compound_statement "{\n            iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);\n            iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);\n            if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }\n          }" { (expression_statement "iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0);" (assignment_expression "iVar22 = (**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0)" identifier = (call_expression "(**(code **)(puVar28 + 0x5a4c4))(sStack_8c.pVtab,0)" (parenthesized_expression "(**(code **)(puVar28 + 0x5a4c4))" ( (pointer_expression "**(code **)(puVar28 + 0x5a4c4)" * (pointer_expression "*(code **)(puVar28 + 0x5a4c4)" * (cast_expression "(code **)(puVar28 + 0x5a4c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a4c4)" ( (binary_expression "puVar28 + 0x5a4c4" identifier + number_literal) ))))) )) (argument_list "(sStack_8c.pVtab,0)" ( (field_expression "sStack_8c.pVtab" identifier . field_identifier) , number_literal )))) ;) (expression_statement "iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0);" (assignment_expression "iVar5 = (**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0)" identifier = (call_expression "(**(code **)(puVar28 + 0x5a4c0))(sStack_8c.pVtab,0)" (parenthesized_expression "(**(code **)(puVar28 + 0x5a4c0))" ( (pointer_expression "**(code **)(puVar28 + 0x5a4c0)" * (pointer_expression "*(code **)(puVar28 + 0x5a4c0)" * (cast_expression "(code **)(puVar28 + 0x5a4c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a4c0)" ( (binary_expression "puVar28 + 0x5a4c0" identifier + number_literal) ))))) )) (argument_list "(sStack_8c.pVtab,0)" ( (field_expression "sStack_8c.pVtab" identifier . field_identifier) , number_literal )))) ;) (if_statement "if ((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')) {\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }\n            else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }" if (parenthesized_expression "((iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0'))" ( (binary_expression "(iVar5 == 0) || (*(char *)(iVar22 + iVar5 + -1) < '\0')" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(iVar22 + iVar5 + -1) < '\0')" ( (binary_expression "*(char *)(iVar22 + iVar5 + -1) < '\0'" (pointer_expression "*(char *)(iVar22 + iVar5 + -1)" * (cast_expression "(char *)(iVar22 + iVar5 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + iVar5 + -1)" ( (binary_expression "iVar22 + iVar5 + -1" (binary_expression "iVar22 + iVar5" identifier + identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              uVar20 = 0;\n              if (0 < (int)uVar26) goto LAB_0013690c;\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n            }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)uVar26) goto LAB_0013690c;" if (parenthesized_expression "(0 < (int)uVar26)" ( (binary_expression "0 < (int)uVar26" number_literal < (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0013690c;" goto statement_identifier ;)) (expression_statement "pcVar30 = *(code **)(puVar28 + 0x5a580);" (assignment_expression "pcVar30 = *(code **)(puVar28 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar28 + 0x5a580)" * (cast_expression "(code **)(puVar28 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a580)" ( (binary_expression "puVar28 + 0x5a580" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }" else (compound_statement "{\n              pcVar30 = *(code **)(puVar28 + 0x5a580);\n              if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }\n            }" { (expression_statement "pcVar30 = *(code **)(puVar28 + 0x5a580);" (assignment_expression "pcVar30 = *(code **)(puVar28 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar28 + 0x5a580)" * (cast_expression "(code **)(puVar28 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a580)" ( (binary_expression "puVar28 + 0x5a580" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)uVar26) {\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }" if (parenthesized_expression "(0 < (int)uVar26)" ( (binary_expression "0 < (int)uVar26" number_literal < (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                uVar20 = 0;\n                if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }\nLAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);\n                do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);\n                pcVar30 = *(code **)(puVar28 + 0x5a580);\n              }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar5) {\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }" if (parenthesized_expression "(0 < iVar5)" ( (binary_expression "0 < iVar5" number_literal < identifier) )) (compound_statement "{\n                  puVar19 = auStack_88;\n                  pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);\n                  iVar32 = 0;\n                  pRVar27 = p_00;\n                  do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);\n                }" { (expression_statement "puVar19 = auStack_88;" (assignment_expression "puVar19 = auStack_88" identifier = identifier) ;) (expression_statement "pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8);" (assignment_expression "pcVar30 = (code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8)" identifier = (cast_expression "(code *)(*(int *)(puVar28 + 0x5a664) + 0x3ec8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar28 + 0x5a664) + 0x3ec8)" ( (binary_expression "*(int *)(puVar28 + 0x5a664) + 0x3ec8" (pointer_expression "*(int *)(puVar28 + 0x5a664)" * (cast_expression "(int *)(puVar28 + 0x5a664)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x5a664)" ( (binary_expression "puVar28 + 0x5a664" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (expression_statement "pRVar27 = p_00;" (assignment_expression "pRVar27 = p_00" identifier = identifier) ;) (do_statement "do {\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  } while (iVar32 < iVar5);" do (compound_statement "{\n                    iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);\n                    iVar32 = iVar32 + iVar6;\n                    uVar20 = uVar20 + 1;\n                    (pRVar27->base).pVtab = psStack_84;\n                    if (uVar26 == uVar20) goto LAB_0013666c;\n                    pRVar27 = (RtreeCursor *)&pRVar27->atEOF;\n                  }" { (expression_statement "iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19);" (assignment_expression "iVar6 = (*pcVar30)(iVar22 + iVar32,puVar19)" identifier = (call_expression "(*pcVar30)(iVar22 + iVar32,puVar19)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(iVar22 + iVar32,puVar19)" ( (binary_expression "iVar22 + iVar32" identifier + identifier) , identifier )))) ;) (expression_statement "iVar32 = iVar32 + iVar6;" (assignment_expression "iVar32 = iVar32 + iVar6" identifier = (binary_expression "iVar32 + iVar6" identifier + identifier)) ;) (expression_statement "uVar20 = uVar20 + 1;" (assignment_expression "uVar20 = uVar20 + 1" identifier = (binary_expression "uVar20 + 1" identifier + number_literal)) ;) (expression_statement "(pRVar27->base).pVtab = psStack_84;" (assignment_expression "(pRVar27->base).pVtab = psStack_84" (field_expression "(pRVar27->base).pVtab" (parenthesized_expression "(pRVar27->base)" ( (field_expression "pRVar27->base" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if (uVar26 == uVar20) goto LAB_0013666c;" if (parenthesized_expression "(uVar26 == uVar20)" ( (binary_expression "uVar26 == uVar20" identifier == identifier) )) (goto_statement "goto LAB_0013666c;" goto statement_identifier ;)) (expression_statement "pRVar27 = (RtreeCursor *)&pRVar27->atEOF;" (assignment_expression "pRVar27 = (RtreeCursor *)&pRVar27->atEOF" identifier = (cast_expression "(RtreeCursor *)&pRVar27->atEOF" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pRVar27->atEOF" & (field_expression "pRVar27->atEOF" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(iVar32 < iVar5)" ( (binary_expression "iVar32 < iVar5" identifier < identifier) )) ;) })) (labeled_statement "LAB_0013690c:\n                ppRVar7 = p_00->aNode + (uVar20 - 0x10);" statement_identifier : (expression_statement "ppRVar7 = p_00->aNode + (uVar20 - 0x10);" (assignment_expression "ppRVar7 = p_00->aNode + (uVar20 - 0x10)" identifier = (binary_expression "p_00->aNode + (uVar20 - 0x10)" (field_expression "p_00->aNode" identifier -> field_identifier) + (parenthesized_expression "(uVar20 - 0x10)" ( (binary_expression "uVar20 - 0x10" identifier - number_literal) )))) ;)) (do_statement "do {\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                } while ((int)uVar20 < (int)uVar26);" do (compound_statement "{\n                  uVar20 = uVar20 + 1;\n                  *ppRVar7 = (RtreeNode *)0x0;\n                  ppRVar7 = ppRVar7 + 1;\n                }" { (expression_statement "uVar20 = uVar20 + 1;" (assignment_expression "uVar20 = uVar20 + 1" identifier = (binary_expression "uVar20 + 1" identifier + number_literal)) ;) (expression_statement "*ppRVar7 = (RtreeNode *)0x0;" (assignment_expression "*ppRVar7 = (RtreeNode *)0x0" (pointer_expression "*ppRVar7" * identifier) = (cast_expression "(RtreeNode *)0x0" ( (type_descriptor "RtreeNode *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppRVar7 = ppRVar7 + 1;" (assignment_expression "ppRVar7 = ppRVar7 + 1" identifier = (binary_expression "ppRVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar20 < (int)uVar26)" ( (binary_expression "(int)uVar20 < (int)uVar26" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "pcVar30 = *(code **)(puVar28 + 0x5a580);" (assignment_expression "pcVar30 = *(code **)(puVar28 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar28 + 0x5a580)" * (cast_expression "(code **)(puVar28 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a580)" ( (binary_expression "puVar28 + 0x5a580" identifier + number_literal) ))))) ;) })) }))) }) (else_clause "else {\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }" else (compound_statement "{\n            pRVar10 = pRVar25;\n            (**(code **)(puVar28 + 0x5a87c))(p_00,0);\nLAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);\n          }" { (expression_statement "pRVar10 = pRVar25;" (assignment_expression "pRVar10 = pRVar25" identifier = identifier) ;) (expression_statement "(**(code **)(puVar28 + 0x5a87c))(p_00,0);" (call_expression "(**(code **)(puVar28 + 0x5a87c))(p_00,0)" (parenthesized_expression "(**(code **)(puVar28 + 0x5a87c))" ( (pointer_expression "**(code **)(puVar28 + 0x5a87c)" * (pointer_expression "*(code **)(puVar28 + 0x5a87c)" * (cast_expression "(code **)(puVar28 + 0x5a87c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a87c)" ( (binary_expression "puVar28 + 0x5a87c" identifier + number_literal) ))))) )) (argument_list "(p_00,0)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_0013666c:\n            pcVar30 = *(code **)(puVar28 + 0x5a580);" statement_identifier : (expression_statement "pcVar30 = *(code **)(puVar28 + 0x5a580);" (assignment_expression "pcVar30 = *(code **)(puVar28 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar28 + 0x5a580)" * (cast_expression "(code **)(puVar28 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a580)" ( (binary_expression "puVar28 + 0x5a580" identifier + number_literal) ))))) ;)) }))) (expression_statement "psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);" (assignment_expression "psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab)" identifier = (cast_expression "(sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar30)(sStack_8c.pVtab)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(sStack_8c.pVtab)" ( (field_expression "sStack_8c.pVtab" identifier . field_identifier) ))))) ;) (if_statement "if (psVar4 == (sqlite3_vtab *)0x0) {\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }" if (parenthesized_expression "(psVar4 == (sqlite3_vtab *)0x0)" ( (binary_expression "psVar4 == (sqlite3_vtab *)0x0" identifier == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            psVar4 = (p_00->base).pVtab;\n            if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }\n            (p_00->base).pVtab = psVar4;\n            piVar8 = (int *)&p_00->atEOF;\n            if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }\nLAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));\n            puVar15 = (uint *)0x0;\n            pRVar11 = p_00;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }\n            puVar15 = (uint *)0x0;\n            psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);\n            if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }\n            goto LAB_00136530;\n          }" { (expression_statement "psVar4 = (p_00->base).pVtab;" (assignment_expression "psVar4 = (p_00->base).pVtab" identifier = (field_expression "(p_00->base).pVtab" (parenthesized_expression "(p_00->base)" ( (field_expression "p_00->base" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)) {\n              psVar4 = (sqlite3_vtab *)0x0;\n            }\n            else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }" if (parenthesized_expression "(((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40))" ( (binary_expression "((int)pRStack_40 < 0) && (psVar4 < (sqlite3_vtab *)-(int)pRStack_40)" (parenthesized_expression "((int)pRStack_40 < 0)" ( (binary_expression "(int)pRStack_40 < 0" (cast_expression "(int)pRStack_40" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(psVar4 < (sqlite3_vtab *)-(int)pRStack_40)" ( (binary_expression "psVar4 < (sqlite3_vtab *)-(int)pRStack_40" identifier < (cast_expression "(sqlite3_vtab *)-(int)pRStack_40" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)pRStack_40" - (cast_expression "(int)pRStack_40" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n              psVar4 = (sqlite3_vtab *)0x0;\n            }" { (expression_statement "psVar4 = (sqlite3_vtab *)0x0;" (assignment_expression "psVar4 = (sqlite3_vtab *)0x0" identifier = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }" else (compound_statement "{\n              psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);\n            }" { (expression_statement "psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4);" (assignment_expression "psVar4 = (sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4)" identifier = (cast_expression "(sqlite3_vtab *)((int)&pRStack_40->pParent + (int)psVar4)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pRStack_40->pParent + (int)psVar4)" ( (binary_expression "(int)&pRStack_40->pParent + (int)psVar4" (cast_expression "(int)&pRStack_40->pParent" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pRStack_40->pParent" & (field_expression "pRStack_40->pParent" identifier -> field_identifier))) + (cast_expression "(int)psVar4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (expression_statement "(p_00->base).pVtab = psVar4;" (assignment_expression "(p_00->base).pVtab = psVar4" (field_expression "(p_00->base).pVtab" (parenthesized_expression "(p_00->base)" ( (field_expression "p_00->base" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "piVar8 = (int *)&p_00->atEOF;" (assignment_expression "piVar8 = (int *)&p_00->atEOF" identifier = (cast_expression "(int *)&p_00->atEOF" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_00->atEOF" & (field_expression "p_00->atEOF" identifier -> field_identifier)))) ;) (if_statement "if (-1 < p_01->nColumn) {\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }" if (parenthesized_expression "(-1 < p_01->nColumn)" ( (binary_expression "-1 < p_01->nColumn" number_literal < (field_expression "p_01->nColumn" identifier -> field_identifier)) )) (compound_statement "{\n              iVar22 = 0;\n              do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);\n            }" { (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (do_statement "do {\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              } while (iVar22 <= p_01->nColumn);" do (compound_statement "{\n                while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }\n                iVar22 = iVar22 + 1;\n                *piVar8 = 0;\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                piVar8 = piVar8 + 1;\n                in_a3 = in_a3 + 1;\n              }" { (while_statement "while (uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)\n                {\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }" while (parenthesized_expression "(uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20)" ( (comma_expression "uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8, *in_a3 <= uVar20" (assignment_expression "uVar20 = (int)&((pRVar11->base).pVtab)->pModule + *piVar8" identifier = (binary_expression "(int)&((pRVar11->base).pVtab)->pModule + *piVar8" (cast_expression "(int)&((pRVar11->base).pVtab)->pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((pRVar11->base).pVtab)->pModule" & (field_expression "((pRVar11->base).pVtab)->pModule" (parenthesized_expression "((pRVar11->base).pVtab)" ( (field_expression "(pRVar11->base).pVtab" (parenthesized_expression "(pRVar11->base)" ( (field_expression "pRVar11->base" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) + (pointer_expression "*piVar8" * identifier))) , (binary_expression "*in_a3 <= uVar20" (pointer_expression "*in_a3" * identifier) <= identifier)) )) (compound_statement "{\n                  iVar22 = iVar22 + 1;\n                  *piVar8 = uVar20 - *in_a3;\n                  pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                  piVar8 = piVar8 + 1;\n                  in_a3 = in_a3 + 1;\n                  if (p_01->nColumn < iVar22) goto LAB_00136714;\n                }" { (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "*piVar8 = uVar20 - *in_a3;" (assignment_expression "*piVar8 = uVar20 - *in_a3" (pointer_expression "*piVar8" * identifier) = (binary_expression "uVar20 - *in_a3" identifier - (pointer_expression "*in_a3" * identifier))) ;) (expression_statement "pRVar11 = (RtreeCursor *)&pRVar11->atEOF;" (assignment_expression "pRVar11 = (RtreeCursor *)&pRVar11->atEOF" identifier = (cast_expression "(RtreeCursor *)&pRVar11->atEOF" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pRVar11->atEOF" & (field_expression "pRVar11->atEOF" identifier -> field_identifier)))) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) (expression_statement "in_a3 = in_a3 + 1;" (assignment_expression "in_a3 = in_a3 + 1" identifier = (binary_expression "in_a3 + 1" identifier + number_literal)) ;) (if_statement "if (p_01->nColumn < iVar22) goto LAB_00136714;" if (parenthesized_expression "(p_01->nColumn < iVar22)" ( (binary_expression "p_01->nColumn < iVar22" (field_expression "p_01->nColumn" identifier -> field_identifier) < identifier) )) (goto_statement "goto LAB_00136714;" goto statement_identifier ;)) })) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "*piVar8 = 0;" (assignment_expression "*piVar8 = 0" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (expression_statement "pRVar11 = (RtreeCursor *)&pRVar11->atEOF;" (assignment_expression "pRVar11 = (RtreeCursor *)&pRVar11->atEOF" identifier = (cast_expression "(RtreeCursor *)&pRVar11->atEOF" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pRVar11->atEOF" & (field_expression "pRVar11->atEOF" identifier -> field_identifier)))) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) (expression_statement "in_a3 = in_a3 + 1;" (assignment_expression "in_a3 = in_a3 + 1" identifier = (binary_expression "in_a3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar22 <= p_01->nColumn)" ( (binary_expression "iVar22 <= p_01->nColumn" identifier <= (field_expression "p_01->nColumn" identifier -> field_identifier)) )) ;) })) (labeled_statement "LAB_00136714:\n            pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));" statement_identifier : (expression_statement "pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20));" (assignment_expression "pRVar10 = (RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20))" identifier = (cast_expression "(RtreeCursor *)((int)pRVar25->aNode + (int)(p_00->aNode + -0x20))" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pRVar25->aNode + (int)(p_00->aNode + -0x20))" ( (binary_expression "(int)pRVar25->aNode + (int)(p_00->aNode + -0x20)" (cast_expression "(int)pRVar25->aNode" ( (type_descriptor "int" primitive_type) ) (field_expression "pRVar25->aNode" identifier -> field_identifier)) + (cast_expression "(int)(p_00->aNode + -0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_00->aNode + -0x20)" ( (binary_expression "p_00->aNode + -0x20" (field_expression "p_00->aNode" identifier -> field_identifier) + number_literal) )))) )))) ;)) (expression_statement "puVar15 = (uint *)0x0;" (assignment_expression "puVar15 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pRVar11 = p_00;" (assignment_expression "pRVar11 = p_00" identifier = identifier) ;) (expression_statement "puVar17 = (uint *)0x0;" (assignment_expression "puVar17 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)uVar26) {\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }" if (parenthesized_expression "(0 < (int)uVar26)" ( (binary_expression "0 < (int)uVar26" number_literal < (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);\n            }" { (do_statement "do {\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              } while (pRVar10 != pRVar11);" do (compound_statement "{\n                pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));\n                psVar4 = (pRVar11->base).pVtab;\n                pbVar3 = pbVar18;\n                do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);\n                pRVar11 = (RtreeCursor *)&pRVar11->atEOF;\n                *pbVar13 = bVar1 & 0x7f;\n                puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));\n                puVar17 = puVar15;\n              }" { (expression_statement "pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10));" (assignment_expression "pbVar18 = (byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10))" identifier = (cast_expression "(byte *)((int)puVar15 + (int)(pRVar10->aNode + -0x10))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + (int)(pRVar10->aNode + -0x10))" ( (binary_expression "(int)puVar15 + (int)(pRVar10->aNode + -0x10)" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(pRVar10->aNode + -0x10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pRVar10->aNode + -0x10)" ( (binary_expression "pRVar10->aNode + -0x10" (field_expression "pRVar10->aNode" identifier -> field_identifier) + number_literal) )))) )))) ;) (expression_statement "psVar4 = (pRVar11->base).pVtab;" (assignment_expression "psVar4 = (pRVar11->base).pVtab" identifier = (field_expression "(pRVar11->base).pVtab" (parenthesized_expression "(pRVar11->base)" ( (field_expression "pRVar11->base" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pbVar3 = pbVar18;" (assignment_expression "pbVar3 = pbVar18" identifier = identifier) ;) (do_statement "do {\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                } while (psVar16 != (sqlite3_vtab *)0x0);" do (compound_statement "{\n                  pbVar13 = pbVar3;\n                  psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);\n                  bVar1 = (byte)psVar4;\n                  *pbVar13 = bVar1 | 0x80;\n                  psVar4 = psVar16;\n                  pbVar3 = pbVar13 + 1;\n                }" { (expression_statement "pbVar13 = pbVar3;" (assignment_expression "pbVar13 = pbVar3" identifier = identifier) ;) (expression_statement "psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7);" (assignment_expression "psVar16 = (sqlite3_vtab *)((uint)psVar4 >> 7)" identifier = (cast_expression "(sqlite3_vtab *)((uint)psVar4 >> 7)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar4 >> 7)" ( (binary_expression "(uint)psVar4 >> 7" (cast_expression "(uint)psVar4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar1 = (byte)psVar4;" (assignment_expression "bVar1 = (byte)psVar4" identifier = (cast_expression "(byte)psVar4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar13 = bVar1 | 0x80;" (assignment_expression "*pbVar13 = bVar1 | 0x80" (pointer_expression "*pbVar13" * identifier) = (binary_expression "bVar1 | 0x80" identifier | number_literal)) ;) (expression_statement "psVar4 = psVar16;" (assignment_expression "psVar4 = psVar16" identifier = identifier) ;) (expression_statement "pbVar3 = pbVar13 + 1;" (assignment_expression "pbVar3 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(psVar16 != (sqlite3_vtab *)0x0)" ( (binary_expression "psVar16 != (sqlite3_vtab *)0x0" identifier != (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pRVar11 = (RtreeCursor *)&pRVar11->atEOF;" (assignment_expression "pRVar11 = (RtreeCursor *)&pRVar11->atEOF" identifier = (cast_expression "(RtreeCursor *)&pRVar11->atEOF" ( (type_descriptor "RtreeCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pRVar11->atEOF" & (field_expression "pRVar11->atEOF" identifier -> field_identifier)))) ;) (expression_statement "*pbVar13 = bVar1 & 0x7f;" (assignment_expression "*pbVar13 = bVar1 & 0x7f" (pointer_expression "*pbVar13" * identifier) = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (expression_statement "puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18));" (assignment_expression "puVar15 = (uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18))" identifier = (cast_expression "(uint *)((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18))" ( (binary_expression "(int)puVar15 + ((int)(pbVar13 + 1) - (int)pbVar18)" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pbVar13 + 1) - (int)pbVar18)" ( (binary_expression "(int)(pbVar13 + 1) - (int)pbVar18" (cast_expression "(int)(pbVar13 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar13 + 1)" ( (binary_expression "pbVar13 + 1" identifier + number_literal) ))) - (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "puVar17 = puVar15;" (assignment_expression "puVar17 = puVar15" identifier = identifier) ;) }) while (parenthesized_expression "(pRVar10 != pRVar11)" ( (binary_expression "pRVar10 != pRVar11" identifier != identifier) )) ;) })) (expression_statement "puVar15 = (uint *)0x0;" (assignment_expression "puVar15 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17);" (assignment_expression "psVar4 = (sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17)" identifier = (cast_expression "(sqlite3_vtab *)(*(code *)(iVar14 + 0x10f8))(p_01,0x17)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar14 + 0x10f8))(p_01,0x17)" (parenthesized_expression "(*(code *)(iVar14 + 0x10f8))" ( (pointer_expression "*(code *)(iVar14 + 0x10f8)" * (cast_expression "(code *)(iVar14 + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x10f8)" ( (binary_expression "iVar14 + 0x10f8" identifier + number_literal) )))) )) (argument_list "(p_01,0x17)" ( identifier , number_literal ))))) ;) (if_statement "if (psVar4 == (sqlite3_vtab *)0x0) {\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }\n            else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }" if (parenthesized_expression "(psVar4 == (sqlite3_vtab *)0x0)" ( (binary_expression "psVar4 == (sqlite3_vtab *)0x0" identifier == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (*pcVar31)(sStack_8c.pVtab,1,0,0);\n              uStack_b5 = '\0';\n              (*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);\n              (*pcVar29)(sStack_8c.pVtab);\n              psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);\n              pcVar31 = *(code **)(puVar28 + 0x5a5ac);\n              (pRVar9->base).pVtab = psVar4;\n              (*pcVar31)(sStack_8c.pVtab,2);\n              (**(code **)(puVar28 + 0x5a490))();\n              pp = pRVar10;\n              puVar15 = puVar17;\n            }" { (expression_statement "(*pcVar31)(sStack_8c.pVtab,1,0,0);" (call_expression "(*pcVar31)(sStack_8c.pVtab,1,0,0)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(sStack_8c.pVtab,1,0,0)" ( (field_expression "sStack_8c.pVtab" identifier . field_identifier) , number_literal , number_literal , number_literal ))) ;) (expression_statement "uStack_b5 = '\0';" (assignment_expression "uStack_b5 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2);" (call_expression "(*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))(sStack_8c.pVtab,2)" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c))" ( (pointer_expression "*(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c)" * (cast_expression "(code *)(*(int *)(puVar28 + 0x5a700) + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar28 + 0x5a700) + 0x2f8c)" ( (binary_expression "*(int *)(puVar28 + 0x5a700) + 0x2f8c" (pointer_expression "*(int *)(puVar28 + 0x5a700)" * (cast_expression "(int *)(puVar28 + 0x5a700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x5a700)" ( (binary_expression "puVar28 + 0x5a700" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(sStack_8c.pVtab,2)" ( (field_expression "sStack_8c.pVtab" identifier . field_identifier) , number_literal ))) ;) (expression_statement "(*pcVar29)(sStack_8c.pVtab);" (call_expression "(*pcVar29)(sStack_8c.pVtab)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(sStack_8c.pVtab)" ( (field_expression "sStack_8c.pVtab" identifier . field_identifier) ))) ;) (expression_statement "psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab);" (assignment_expression "psVar4 = (sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab)" identifier = (cast_expression "(sqlite3_vtab *)(*pcVar30)(sStack_8c.pVtab)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar30)(sStack_8c.pVtab)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(sStack_8c.pVtab)" ( (field_expression "sStack_8c.pVtab" identifier . field_identifier) ))))) ;) (expression_statement "pcVar31 = *(code **)(puVar28 + 0x5a5ac);" (assignment_expression "pcVar31 = *(code **)(puVar28 + 0x5a5ac)" identifier = (pointer_expression "*(code **)(puVar28 + 0x5a5ac)" * (cast_expression "(code **)(puVar28 + 0x5a5ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a5ac)" ( (binary_expression "puVar28 + 0x5a5ac" identifier + number_literal) ))))) ;) (expression_statement "(pRVar9->base).pVtab = psVar4;" (assignment_expression "(pRVar9->base).pVtab = psVar4" (field_expression "(pRVar9->base).pVtab" (parenthesized_expression "(pRVar9->base)" ( (field_expression "pRVar9->base" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(*pcVar31)(sStack_8c.pVtab,2);" (call_expression "(*pcVar31)(sStack_8c.pVtab,2)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(sStack_8c.pVtab,2)" ( (field_expression "sStack_8c.pVtab" identifier . field_identifier) , number_literal ))) ;) (expression_statement "(**(code **)(puVar28 + 0x5a490))();" (call_expression "(**(code **)(puVar28 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar28 + 0x5a490))" ( (pointer_expression "**(code **)(puVar28 + 0x5a490)" * (pointer_expression "*(code **)(puVar28 + 0x5a490)" * (cast_expression "(code **)(puVar28 + 0x5a490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a490)" ( (binary_expression "puVar28 + 0x5a490" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pp = pRVar10;" (assignment_expression "pp = pRVar10" identifier = identifier) ;) (expression_statement "puVar15 = puVar17;" (assignment_expression "puVar15 = puVar17" identifier = identifier) ;) }) (else_clause "else {\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }" else (compound_statement "{\n              (**(code **)(puVar28 + 0x5a490))();\n              (pRVar9->base).pVtab = psVar4;\n            }" { (expression_statement "(**(code **)(puVar28 + 0x5a490))();" (call_expression "(**(code **)(puVar28 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar28 + 0x5a490))" ( (pointer_expression "**(code **)(puVar28 + 0x5a490)" * (pointer_expression "*(code **)(puVar28 + 0x5a490)" * (cast_expression "(code **)(puVar28 + 0x5a490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a490)" ( (binary_expression "puVar28 + 0x5a490" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(pRVar9->base).pVtab = psVar4;" (assignment_expression "(pRVar9->base).pVtab = psVar4" (field_expression "(pRVar9->base).pVtab" (parenthesized_expression "(pRVar9->base)" ( (field_expression "pRVar9->base" identifier -> field_identifier) )) . field_identifier) = identifier) ;) }))) (goto_statement "goto LAB_00136530;" goto statement_identifier ;) })) })) (expression_statement "pp = pRVar10;" (assignment_expression "pp = pRVar10" identifier = identifier) ;) (expression_statement "(**(code **)(puVar28 + 0x5a490))();" (call_expression "(**(code **)(puVar28 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar28 + 0x5a490))" ( (pointer_expression "**(code **)(puVar28 + 0x5a490)" * (pointer_expression "*(code **)(puVar28 + 0x5a490)" * (cast_expression "(code **)(puVar28 + 0x5a490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a490)" ( (binary_expression "puVar28 + 0x5a490" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(pRVar9->base).pVtab = psVar4;" (assignment_expression "(pRVar9->base).pVtab = psVar4" (field_expression "(pRVar9->base).pVtab" (parenthesized_expression "(pRVar9->base)" ( (field_expression "pRVar9->base" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (goto_statement "goto LAB_00136530;" goto statement_identifier ;) })) })) (expression_statement "p_00 = pRVar10;" (assignment_expression "p_00 = pRVar10" identifier = identifier) ;) (expression_statement "(pRVar9->base).pVtab = (sqlite3_vtab *)0x7;" (assignment_expression "(pRVar9->base).pVtab = (sqlite3_vtab *)0x7" (field_expression "(pRVar9->base).pVtab" (parenthesized_expression "(pRVar9->base)" ( (field_expression "pRVar9->base" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x7" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (labeled_statement "LAB_00136530:\n  if (pRStack_7c == (RtreeConstraint *)*piVar24) {\n    return;\n  }" statement_identifier : (if_statement "if (pRStack_7c == (RtreeConstraint *)*piVar24) {\n    return;\n  }" if (parenthesized_expression "(pRStack_7c == (RtreeConstraint *)*piVar24)" ( (binary_expression "pRStack_7c == (RtreeConstraint *)*piVar24" identifier == (cast_expression "(RtreeConstraint *)*piVar24" ( (type_descriptor "RtreeConstraint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar31 = *(code **)(puVar28 + 0x5a91c);" (assignment_expression "pcVar31 = *(code **)(puVar28 + 0x5a91c)" identifier = (pointer_expression "*(code **)(puVar28 + 0x5a91c)" * (cast_expression "(code **)(puVar28 + 0x5a91c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5a91c)" ( (binary_expression "puVar28 + 0x5a91c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar22 = p_00->nPointAlloc;" (assignment_expression "iVar22 = p_00->nPointAlloc" identifier = (field_expression "p_00->nPointAlloc" identifier -> field_identifier)) ;) (expression_statement "dVar33 = (double)CONCAT44(pp,puVar15);" (assignment_expression "dVar33 = (double)CONCAT44(pp,puVar15)" identifier = (cast_expression "(double)CONCAT44(pp,puVar15)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pp,puVar15)" identifier (argument_list "(pp,puVar15)" ( identifier , identifier ))))) ;) (expression_statement "iVar14 = p_00->nPoint;" (assignment_expression "iVar14 = p_00->nPoint" identifier = (field_expression "p_00->nPoint" identifier -> field_identifier)) ;) (expression_statement "pRVar21 = p_00->aPoint;" (assignment_expression "pRVar21 = p_00->aPoint" identifier = (field_expression "p_00->aPoint" identifier -> field_identifier)) ;) (if_statement "if (iVar22 <= iVar14) {\n    iVar14 = (**(code **)(pcVar31 + 0x5a220))();\n    if (iVar14 == 0) {\n      pRVar21 = (RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21);\n      if (pRVar21 != (RtreeSearchPoint *)0x0) {\n        iVar14 = p_00->nPoint;\n        p_00->aPoint = pRVar21;\n        p_00->nPointAlloc = (iVar22 + 4) * 2;\n        goto LAB_001369b4;\n      }\n    }\n    return;\n  }" if (parenthesized_expression "(iVar22 <= iVar14)" ( (binary_expression "iVar22 <= iVar14" identifier <= identifier) )) (compound_statement "{\n    iVar14 = (**(code **)(pcVar31 + 0x5a220))();\n    if (iVar14 == 0) {\n      pRVar21 = (RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21);\n      if (pRVar21 != (RtreeSearchPoint *)0x0) {\n        iVar14 = p_00->nPoint;\n        p_00->aPoint = pRVar21;\n        p_00->nPointAlloc = (iVar22 + 4) * 2;\n        goto LAB_001369b4;\n      }\n    }\n    return;\n  }" { (expression_statement "iVar14 = (**(code **)(pcVar31 + 0x5a220))();" (assignment_expression "iVar14 = (**(code **)(pcVar31 + 0x5a220))()" identifier = (call_expression "(**(code **)(pcVar31 + 0x5a220))()" (parenthesized_expression "(**(code **)(pcVar31 + 0x5a220))" ( (pointer_expression "**(code **)(pcVar31 + 0x5a220)" * (pointer_expression "*(code **)(pcVar31 + 0x5a220)" * (cast_expression "(code **)(pcVar31 + 0x5a220)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x5a220)" ( (binary_expression "pcVar31 + 0x5a220" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar14 == 0) {\n      pRVar21 = (RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21);\n      if (pRVar21 != (RtreeSearchPoint *)0x0) {\n        iVar14 = p_00->nPoint;\n        p_00->aPoint = pRVar21;\n        p_00->nPointAlloc = (iVar22 + 4) * 2;\n        goto LAB_001369b4;\n      }\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      pRVar21 = (RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21);\n      if (pRVar21 != (RtreeSearchPoint *)0x0) {\n        iVar14 = p_00->nPoint;\n        p_00->aPoint = pRVar21;\n        p_00->nPointAlloc = (iVar22 + 4) * 2;\n        goto LAB_001369b4;\n      }\n    }" { (expression_statement "pRVar21 = (RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21);" (assignment_expression "pRVar21 = (RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21)" identifier = (cast_expression "(RtreeSearchPoint *)(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21)" ( (type_descriptor "RtreeSearchPoint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))(pRVar21)" (parenthesized_expression "(*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354))" ( (pointer_expression "*(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354)" * (cast_expression "(code *)(*(int *)(pcVar31 + 0x5a240) + 0x354)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x5a240) + 0x354)" ( (binary_expression "*(int *)(pcVar31 + 0x5a240) + 0x354" (pointer_expression "*(int *)(pcVar31 + 0x5a240)" * (cast_expression "(int *)(pcVar31 + 0x5a240)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x5a240)" ( (binary_expression "pcVar31 + 0x5a240" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pRVar21)" ( identifier ))))) ;) (if_statement "if (pRVar21 != (RtreeSearchPoint *)0x0) {\n        iVar14 = p_00->nPoint;\n        p_00->aPoint = pRVar21;\n        p_00->nPointAlloc = (iVar22 + 4) * 2;\n        goto LAB_001369b4;\n      }" if (parenthesized_expression "(pRVar21 != (RtreeSearchPoint *)0x0)" ( (binary_expression "pRVar21 != (RtreeSearchPoint *)0x0" identifier != (cast_expression "(RtreeSearchPoint *)0x0" ( (type_descriptor "RtreeSearchPoint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar14 = p_00->nPoint;\n        p_00->aPoint = pRVar21;\n        p_00->nPointAlloc = (iVar22 + 4) * 2;\n        goto LAB_001369b4;\n      }" { (expression_statement "iVar14 = p_00->nPoint;" (assignment_expression "iVar14 = p_00->nPoint" identifier = (field_expression "p_00->nPoint" identifier -> field_identifier)) ;) (expression_statement "p_00->aPoint = pRVar21;" (assignment_expression "p_00->aPoint = pRVar21" (field_expression "p_00->aPoint" identifier -> field_identifier) = identifier) ;) (expression_statement "p_00->nPointAlloc = (iVar22 + 4) * 2;" (assignment_expression "p_00->nPointAlloc = (iVar22 + 4) * 2" (field_expression "p_00->nPointAlloc" identifier -> field_identifier) = (binary_expression "(iVar22 + 4) * 2" (parenthesized_expression "(iVar22 + 4)" ( (binary_expression "iVar22 + 4" identifier + number_literal) )) * number_literal)) ;) (goto_statement "goto LAB_001369b4;" goto statement_identifier ;) })) })) (return_statement "return;" return ;) })) (labeled_statement "LAB_001369b4:\n  p_00->nPoint = iVar14 + 1;" statement_identifier : (expression_statement "p_00->nPoint = iVar14 + 1;" (assignment_expression "p_00->nPoint = iVar14 + 1" (field_expression "p_00->nPoint" identifier -> field_identifier) = (binary_expression "iVar14 + 1" identifier + number_literal)) ;)) (expression_statement "pRVar21 = pRVar21 + iVar14;" (assignment_expression "pRVar21 = pRVar21 + iVar14" identifier = (binary_expression "pRVar21 + iVar14" identifier + identifier)) ;) (expression_statement "pRVar21->rScore = dVar33;" (assignment_expression "pRVar21->rScore = dVar33" (field_expression "pRVar21->rScore" identifier -> field_identifier) = identifier) ;) (expression_statement "pRVar21->iLevel = uStack_b5;" (assignment_expression "pRVar21->iLevel = uStack_b5" (field_expression "pRVar21->iLevel" identifier -> field_identifier) = identifier) ;) (if_statement "if (0 < iVar14) {\n    while( true ) {\n      iVar22 = iVar14 + -1 >> 1;\n      pRVar23 = p_00->aPoint + iVar22;\n      if (((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||\n         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)) break;\n      dVar33 = pRVar23->rScore;\n      pRVar21 = pRVar23;\n      iVar14 = iVar22;\n    }\n  }" if (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) (compound_statement "{\n    while( true ) {\n      iVar22 = iVar14 + -1 >> 1;\n      pRVar23 = p_00->aPoint + iVar22;\n      if (((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||\n         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)) break;\n      dVar33 = pRVar23->rScore;\n      pRVar21 = pRVar23;\n      iVar14 = iVar22;\n    }\n  }" { (while_statement "while( true ) {\n      iVar22 = iVar14 + -1 >> 1;\n      pRVar23 = p_00->aPoint + iVar22;\n      if (((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||\n         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)) break;\n      dVar33 = pRVar23->rScore;\n      pRVar21 = pRVar23;\n      iVar14 = iVar22;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar22 = iVar14 + -1 >> 1;\n      pRVar23 = p_00->aPoint + iVar22;\n      if (((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||\n         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)) break;\n      dVar33 = pRVar23->rScore;\n      pRVar21 = pRVar23;\n      iVar14 = iVar22;\n    }" { (expression_statement "iVar22 = iVar14 + -1 >> 1;" (assignment_expression "iVar22 = iVar14 + -1 >> 1" identifier = (binary_expression "iVar14 + -1 >> 1" (binary_expression "iVar14 + -1" identifier + number_literal) >> number_literal)) ;) (expression_statement "pRVar23 = p_00->aPoint + iVar22;" (assignment_expression "pRVar23 = p_00->aPoint + iVar22" identifier = (binary_expression "p_00->aPoint + iVar22" (field_expression "p_00->aPoint" identifier -> field_identifier) + identifier)) ;) (if_statement "if (((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||\n         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)) break;" if (parenthesized_expression "(((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||\n         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0))" ( (binary_expression "((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))) ||\n         (rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)" (parenthesized_expression "((pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel))))" ( (binary_expression "(pRVar23->rScore <= dVar33) &&\n          ((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))" (parenthesized_expression "(pRVar23->rScore <= dVar33)" ( (binary_expression "pRVar23->rScore <= dVar33" (field_expression "pRVar23->rScore" identifier -> field_identifier) <= identifier) )) && (parenthesized_expression "((pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)))" ( (parenthesized_expression "(pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel))" ( (binary_expression "pRVar23->rScore < dVar33 || (pRVar23->iLevel <= pRVar21->iLevel)" (binary_expression "pRVar23->rScore < dVar33" (field_expression "pRVar23->rScore" identifier -> field_identifier) < identifier) || (parenthesized_expression "(pRVar23->iLevel <= pRVar21->iLevel)" ( (binary_expression "pRVar23->iLevel <= pRVar21->iLevel" (field_expression "pRVar23->iLevel" identifier -> field_identifier) <= (field_expression "pRVar21->iLevel" identifier -> field_identifier)) ))) )) ))) )) || (parenthesized_expression "(rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0)" ( (comma_expression "rtreeSearchPointSwap(p_00,iVar22,iVar14), iVar22 == 0" (call_expression "rtreeSearchPointSwap(p_00,iVar22,iVar14)" identifier (argument_list "(p_00,iVar22,iVar14)" ( identifier , identifier , identifier ))) , (binary_expression "iVar22 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "dVar33 = pRVar23->rScore;" (assignment_expression "dVar33 = pRVar23->rScore" identifier = (field_expression "pRVar23->rScore" identifier -> field_identifier)) ;) (expression_statement "pRVar21 = pRVar23;" (assignment_expression "pRVar21 = pRVar23" identifier = identifier) ;) (expression_statement "iVar14 = iVar22;" (assignment_expression "iVar14 = iVar22" identifier = identifier) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "uint **** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  uint ****ppppuVar4;\n  int iVar5;\n  uint *****pppppuVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint *****pppppuVar10;\n  uint *****pppppuVar11;\n  uint *****pppppuVar12;\n  uint *****pppppuVar13;\n  byte *pbVar14;\n  uint ****ppppuVar15;\n  uint *puVar16;\n  uint *puVar17;\n  undefined1 *puVar18;\n  uint uVar19;\n  uint *****unaff_s0;\n  uint *unaff_s1;\n  uint ****ppppuVar20;\n  uint *****unaff_s2;\n  int *piVar21;\n  uint *****pppppuVar22;\n  uint *****unaff_s4;\n  int unaff_s5;\n  int iVar23;\n  uint uVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  code *pcVar28;\n  int iVar29;\n  double dVar30;\n  undefined1 uStack_b5;\n  uint ***pppuStack_8c;\n  undefined1 auStack_88 [4];\n  uint ***pppuStack_84;\n  uint ***pppuStack_7c;\n  uint ****ppppuStack_78;\n  uint *puStack_74;\n  uint ****ppppuStack_70;\n  undefined *puStack_6c;\n  uint ****ppppuStack_68;\n  int iStack_64;\n  undefined *local_40;\n  uint ****local_28;\n  uint ***local_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;\n  pppppuVar10 = param_1;\n  iVar9 = param_2;\n  pppppuVar12 = param_3;\n  if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }\nLAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;\n  if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_6c = puVar2;\n  piVar21 = *(int **)(puVar25 + 0x5a948);\n  pppuStack_7c = (uint ***)*piVar21;\n  pppppuVar6 = pppppuVar10;\n  pppppuVar13 = pppppuVar12;\n  puVar16 = param_4;\n  ppppuStack_78 = (uint ****)unaff_s0;\n  puStack_74 = unaff_s1;\n  ppppuStack_70 = (uint ****)unaff_s2;\n  ppppuStack_68 = (uint ****)unaff_s4;\n  iStack_64 = unaff_s5;\n  if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }\nLAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;\n  if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }\n  pcVar28 = *(code **)(puVar25 + 0x5a91c);\n  (*pcVar28)();\n  ppppuVar20 = pppppuVar6[5];\n  dVar30 = (double)CONCAT44(pppppuVar13,puVar16);\n  ppppuVar15 = pppppuVar6[6];\n  ppppuVar4 = pppppuVar6[8];\n  if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }\nLAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);\n  ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;\n  *(double *)ppppuVar4 = dVar30;\n  *(undefined1 *)(ppppuVar4 + 4) = uStack_b5;\n  if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }\n  return ppppuVar4;\n}\n\n" (function_definition "uint **** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  uint ****ppppuVar4;\n  int iVar5;\n  uint *****pppppuVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint *****pppppuVar10;\n  uint *****pppppuVar11;\n  uint *****pppppuVar12;\n  uint *****pppppuVar13;\n  byte *pbVar14;\n  uint ****ppppuVar15;\n  uint *puVar16;\n  uint *puVar17;\n  undefined1 *puVar18;\n  uint uVar19;\n  uint *****unaff_s0;\n  uint *unaff_s1;\n  uint ****ppppuVar20;\n  uint *****unaff_s2;\n  int *piVar21;\n  uint *****pppppuVar22;\n  uint *****unaff_s4;\n  int unaff_s5;\n  int iVar23;\n  uint uVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  code *pcVar28;\n  int iVar29;\n  double dVar30;\n  undefined1 uStack_b5;\n  uint ***pppuStack_8c;\n  undefined1 auStack_88 [4];\n  uint ***pppuStack_84;\n  uint ***pppuStack_7c;\n  uint ****ppppuStack_78;\n  uint *puStack_74;\n  uint ****ppppuStack_70;\n  undefined *puStack_6c;\n  uint ****ppppuStack_68;\n  int iStack_64;\n  undefined *local_40;\n  uint ****local_28;\n  uint ***local_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;\n  pppppuVar10 = param_1;\n  iVar9 = param_2;\n  pppppuVar12 = param_3;\n  if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }\nLAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;\n  if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_6c = puVar2;\n  piVar21 = *(int **)(puVar25 + 0x5a948);\n  pppuStack_7c = (uint ***)*piVar21;\n  pppppuVar6 = pppppuVar10;\n  pppppuVar13 = pppppuVar12;\n  puVar16 = param_4;\n  ppppuStack_78 = (uint ****)unaff_s0;\n  puStack_74 = unaff_s1;\n  ppppuStack_70 = (uint ****)unaff_s2;\n  ppppuStack_68 = (uint ****)unaff_s4;\n  iStack_64 = unaff_s5;\n  if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }\nLAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;\n  if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }\n  pcVar28 = *(code **)(puVar25 + 0x5a91c);\n  (*pcVar28)();\n  ppppuVar20 = pppppuVar6[5];\n  dVar30 = (double)CONCAT44(pppppuVar13,puVar16);\n  ppppuVar15 = pppppuVar6[6];\n  ppppuVar4 = pppppuVar6[8];\n  if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }\nLAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);\n  ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;\n  *(double *)ppppuVar4 = dVar30;\n  *(undefined1 *)(ppppuVar4 + 4) = uStack_b5;\n  if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }\n  return ppppuVar4;\n}" type_identifier (pointer_declarator "**** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" * (pointer_declarator "*** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" * (pointer_declarator "** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" * (pointer_declarator "* FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" * (function_declarator "FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" identifier (parameter_list "(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" ( (parameter_declaration "uint *****param_1" type_identifier (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier)))))) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint *****param_3" type_identifier (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))))))) (compound_statement "{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  uint ****ppppuVar4;\n  int iVar5;\n  uint *****pppppuVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint *****pppppuVar10;\n  uint *****pppppuVar11;\n  uint *****pppppuVar12;\n  uint *****pppppuVar13;\n  byte *pbVar14;\n  uint ****ppppuVar15;\n  uint *puVar16;\n  uint *puVar17;\n  undefined1 *puVar18;\n  uint uVar19;\n  uint *****unaff_s0;\n  uint *unaff_s1;\n  uint ****ppppuVar20;\n  uint *****unaff_s2;\n  int *piVar21;\n  uint *****pppppuVar22;\n  uint *****unaff_s4;\n  int unaff_s5;\n  int iVar23;\n  uint uVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  code *pcVar28;\n  int iVar29;\n  double dVar30;\n  undefined1 uStack_b5;\n  uint ***pppuStack_8c;\n  undefined1 auStack_88 [4];\n  uint ***pppuStack_84;\n  uint ***pppuStack_7c;\n  uint ****ppppuStack_78;\n  uint *puStack_74;\n  uint ****ppppuStack_70;\n  undefined *puStack_6c;\n  uint ****ppppuStack_68;\n  int iStack_64;\n  undefined *local_40;\n  uint ****local_28;\n  uint ***local_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;\n  pppppuVar10 = param_1;\n  iVar9 = param_2;\n  pppppuVar12 = param_3;\n  if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }\nLAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;\n  if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_6c = puVar2;\n  piVar21 = *(int **)(puVar25 + 0x5a948);\n  pppuStack_7c = (uint ***)*piVar21;\n  pppppuVar6 = pppppuVar10;\n  pppppuVar13 = pppppuVar12;\n  puVar16 = param_4;\n  ppppuStack_78 = (uint ****)unaff_s0;\n  puStack_74 = unaff_s1;\n  ppppuStack_70 = (uint ****)unaff_s2;\n  ppppuStack_68 = (uint ****)unaff_s4;\n  iStack_64 = unaff_s5;\n  if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }\nLAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;\n  if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }\n  pcVar28 = *(code **)(puVar25 + 0x5a91c);\n  (*pcVar28)();\n  ppppuVar20 = pppppuVar6[5];\n  dVar30 = (double)CONCAT44(pppppuVar13,puVar16);\n  ppppuVar15 = pppppuVar6[6];\n  ppppuVar4 = pppppuVar6[8];\n  if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }\nLAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);\n  ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;\n  *(double *)ppppuVar4 = dVar30;\n  *(undefined1 *)(ppppuVar4 + 4) = uStack_b5;\n  if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }\n  return ppppuVar4;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "uint ****ppppuVar4;" type_identifier (pointer_declarator "****ppppuVar4" * (pointer_declarator "***ppppuVar4" * (pointer_declarator "**ppppuVar4" * (pointer_declarator "*ppppuVar4" * identifier)))) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint *****pppppuVar6;" type_identifier (pointer_declarator "*****pppppuVar6" * (pointer_declarator "****pppppuVar6" * (pointer_declarator "***pppppuVar6" * (pointer_declarator "**pppppuVar6" * (pointer_declarator "*pppppuVar6" * identifier))))) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint *****pppppuVar10;" type_identifier (pointer_declarator "*****pppppuVar10" * (pointer_declarator "****pppppuVar10" * (pointer_declarator "***pppppuVar10" * (pointer_declarator "**pppppuVar10" * (pointer_declarator "*pppppuVar10" * identifier))))) ;) (declaration "uint *****pppppuVar11;" type_identifier (pointer_declarator "*****pppppuVar11" * (pointer_declarator "****pppppuVar11" * (pointer_declarator "***pppppuVar11" * (pointer_declarator "**pppppuVar11" * (pointer_declarator "*pppppuVar11" * identifier))))) ;) (declaration "uint *****pppppuVar12;" type_identifier (pointer_declarator "*****pppppuVar12" * (pointer_declarator "****pppppuVar12" * (pointer_declarator "***pppppuVar12" * (pointer_declarator "**pppppuVar12" * (pointer_declarator "*pppppuVar12" * identifier))))) ;) (declaration "uint *****pppppuVar13;" type_identifier (pointer_declarator "*****pppppuVar13" * (pointer_declarator "****pppppuVar13" * (pointer_declarator "***pppppuVar13" * (pointer_declarator "**pppppuVar13" * (pointer_declarator "*pppppuVar13" * identifier))))) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "uint ****ppppuVar15;" type_identifier (pointer_declarator "****ppppuVar15" * (pointer_declarator "***ppppuVar15" * (pointer_declarator "**ppppuVar15" * (pointer_declarator "*ppppuVar15" * identifier)))) ;) (declaration "uint *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint *****unaff_s0;" type_identifier (pointer_declarator "*****unaff_s0" * (pointer_declarator "****unaff_s0" * (pointer_declarator "***unaff_s0" * (pointer_declarator "**unaff_s0" * (pointer_declarator "*unaff_s0" * identifier))))) ;) (declaration "uint *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "uint ****ppppuVar20;" type_identifier (pointer_declarator "****ppppuVar20" * (pointer_declarator "***ppppuVar20" * (pointer_declarator "**ppppuVar20" * (pointer_declarator "*ppppuVar20" * identifier)))) ;) (declaration "uint *****unaff_s2;" type_identifier (pointer_declarator "*****unaff_s2" * (pointer_declarator "****unaff_s2" * (pointer_declarator "***unaff_s2" * (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier))))) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "uint *****pppppuVar22;" type_identifier (pointer_declarator "*****pppppuVar22" * (pointer_declarator "****pppppuVar22" * (pointer_declarator "***pppppuVar22" * (pointer_declarator "**pppppuVar22" * (pointer_declarator "*pppppuVar22" * identifier))))) ;) (declaration "uint *****unaff_s4;" type_identifier (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 identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "double dVar30;" primitive_type identifier ;) (declaration "undefined1 uStack_b5;" type_identifier identifier ;) (declaration "uint ***pppuStack_8c;" type_identifier (pointer_declarator "***pppuStack_8c" * (pointer_declarator "**pppuStack_8c" * (pointer_declarator "*pppuStack_8c" * identifier))) ;) (declaration "undefined1 auStack_88 [4];" type_identifier (array_declarator "auStack_88 [4]" identifier [ number_literal ]) ;) (declaration "uint ***pppuStack_84;" type_identifier (pointer_declarator "***pppuStack_84" * (pointer_declarator "**pppuStack_84" * (pointer_declarator "*pppuStack_84" * identifier))) ;) (declaration "uint ***pppuStack_7c;" type_identifier (pointer_declarator "***pppuStack_7c" * (pointer_declarator "**pppuStack_7c" * (pointer_declarator "*pppuStack_7c" * identifier))) ;) (declaration "uint ****ppppuStack_78;" type_identifier (pointer_declarator "****ppppuStack_78" * (pointer_declarator "***ppppuStack_78" * (pointer_declarator "**ppppuStack_78" * (pointer_declarator "*ppppuStack_78" * identifier)))) ;) (declaration "uint *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "uint ****ppppuStack_70;" type_identifier (pointer_declarator "****ppppuStack_70" * (pointer_declarator "***ppppuStack_70" * (pointer_declarator "**ppppuStack_70" * (pointer_declarator "*ppppuStack_70" * identifier)))) ;) (declaration "undefined *puStack_6c;" type_identifier (pointer_declarator "*puStack_6c" * identifier) ;) (declaration "uint ****ppppuStack_68;" type_identifier (pointer_declarator "****ppppuStack_68" * (pointer_declarator "***ppppuStack_68" * (pointer_declarator "**ppppuStack_68" * (pointer_declarator "*ppppuStack_68" * identifier)))) ;) (declaration "int iStack_64;" primitive_type identifier ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "uint ****local_28;" type_identifier (pointer_declarator "****local_28" * (pointer_declarator "***local_28" * (pointer_declarator "**local_28" * (pointer_declarator "*local_28" * identifier)))) ;) (declaration "uint ***local_24;" type_identifier (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier))) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_24 = *(uint ****)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(uint ****)PTR___stack_chk_guard_00190e24" * (cast_expression "(uint ****)PTR___stack_chk_guard_00190e24" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier))) ;) (expression_statement "pppppuVar10 = param_1;" (assignment_expression "pppppuVar10 = param_1" identifier = identifier) ;) (expression_statement "iVar9 = param_2;" (assignment_expression "iVar9 = param_2" identifier = identifier) ;) (expression_statement "pppppuVar12 = param_3;" (assignment_expression "pppppuVar12 = param_3" identifier = identifier) ;) (if_statement "if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }" if (parenthesized_expression "(*param_1 == (uint ****)0x0)" ( (binary_expression "*param_1 == (uint ****)0x0" (pointer_expression "*param_1" * identifier) == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }" { (expression_statement "unaff_s2 = *(uint ******)(param_2 + 0x18);" (assignment_expression "unaff_s2 = *(uint ******)(param_2 + 0x18)" identifier = (pointer_expression "*(uint ******)(param_2 + 0x18)" * (cast_expression "(uint ******)(param_2 + 0x18)" ( (type_descriptor "uint ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();" (assignment_expression "unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)()" identifier = (cast_expression "(uint *)(*(code *)PTR_sqlite3_initialize_00190b88)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_initialize_00190b88)()" (parenthesized_expression "(*(code *)PTR_sqlite3_initialize_00190b88)" ( (pointer_expression "*(code *)PTR_sqlite3_initialize_00190b88" * (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" identifier = identifier) ;) (expression_statement "unaff_s4 = param_1;" (assignment_expression "unaff_s4 = param_1" identifier = identifier) ;) (expression_statement "unaff_s5 = param_2;" (assignment_expression "unaff_s5 = param_2" identifier = identifier) ;) (if_statement "if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }" if (parenthesized_expression "(unaff_s1 == (uint *)0x0)" ( (binary_expression "unaff_s1 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }" { (expression_statement "pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);" (assignment_expression "pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e)" identifier = (cast_expression "(uint *****)((uint)unaff_s2 >> 0x1e)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)unaff_s2 >> 0x1e)" ( (binary_expression "(uint)unaff_s2 >> 0x1e" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "iVar9 = (int)unaff_s2 * 10;" (assignment_expression "iVar9 = (int)unaff_s2 * 10" identifier = (binary_expression "(int)unaff_s2 * 10" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);" (assignment_expression "pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2)" identifier = (cast_expression "(uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2)" ( (binary_expression "(uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2" (binary_expression "(uint)((int)unaff_s2 * 5) >> 0x1f" (call_expression "(uint)((int)unaff_s2 * 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s2 * 5)" ( (binary_expression "(int)unaff_s2 * 5" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) | (binary_expression "((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2" (parenthesized_expression "((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f))" ( (binary_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)" (binary_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2)" (call_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4))" ( (binary_expression "(uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)" (call_expression "(uint)((int)unaff_s2 * 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s2 * 5)" ( (binary_expression "(int)unaff_s2 * 5" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) < (call_expression "(uint)((int)unaff_s2 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s2 * 4)" ( (binary_expression "(int)unaff_s2 * 4" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ))) + (parenthesized_expression "((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2)" ( (binary_expression "(uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2" (cast_expression "(uint)pppppuVar12" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)unaff_s2 >> 0x1f) << 2" (parenthesized_expression "((int)unaff_s2 >> 0x1f)" ( (binary_expression "(int)unaff_s2 >> 0x1f" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) ))) + (parenthesized_expression "((int)unaff_s2 >> 0x1f)" ( (binary_expression "(int)unaff_s2 >> 0x1f" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) * number_literal)) )))) ;) (expression_statement "unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();" (assignment_expression "unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" identifier = (cast_expression "(uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2b48)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2b48" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (if_statement "if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }" if (parenthesized_expression "(unaff_s2 != (uint *****)0x0)" ( (binary_expression "unaff_s2 != (uint *****)0x0" identifier != (cast_expression "(uint *****)0x0" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }" { (expression_statement "iVar9 = *(int *)(param_2 + 0x18);" (assignment_expression "iVar9 = *(int *)(param_2 + 0x18)" identifier = (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }" if (parenthesized_expression "(0 < iVar9)" ( (binary_expression "0 < iVar9" number_literal < identifier) )) (compound_statement "{\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }" { (expression_statement "unaff_s1 = (uint *)0x0;" (assignment_expression "unaff_s1 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppuVar10 = param_3;" (assignment_expression "pppppuVar10 = param_3" identifier = identifier) ;) (do_statement "do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);" do (compound_statement "{\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          }" { (expression_statement "ppppuVar4 = *pppppuVar10;" (assignment_expression "ppppuVar4 = *pppppuVar10" identifier = (pointer_expression "*pppppuVar10" * identifier)) ;) (expression_statement "pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);" (assignment_expression "pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1)" identifier = (cast_expression "(byte *)((int)unaff_s2 + (int)unaff_s1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s2 + (int)unaff_s1)" ( (binary_expression "(int)unaff_s2 + (int)unaff_s1" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);" do (compound_statement "{\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            }" { (expression_statement "pbVar14 = pbVar3;" (assignment_expression "pbVar14 = pbVar3" identifier = identifier) ;) (expression_statement "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);" (assignment_expression "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7)" identifier = (cast_expression "(uint ****)((uint)ppppuVar4 >> 7)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppuVar4 >> 7)" ( (binary_expression "(uint)ppppuVar4 >> 7" (cast_expression "(uint)ppppuVar4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar1 = (byte)ppppuVar4;" (assignment_expression "bVar1 = (byte)ppppuVar4" identifier = (cast_expression "(byte)ppppuVar4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar14 = bVar1 | 0x80;" (assignment_expression "*pbVar14 = bVar1 | 0x80" (pointer_expression "*pbVar14" * identifier) = (binary_expression "bVar1 | 0x80" identifier | number_literal)) ;) (expression_statement "ppppuVar4 = ppppuVar15;" (assignment_expression "ppppuVar4 = ppppuVar15" identifier = identifier) ;) (expression_statement "pbVar3 = pbVar14 + 1;" (assignment_expression "pbVar3 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppppuVar15 != (uint ****)0x0)" ( (binary_expression "ppppuVar15 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) ;) (expression_statement "pppppuVar10 = pppppuVar10 + 1;" (assignment_expression "pppppuVar10 = pppppuVar10 + 1" identifier = (binary_expression "pppppuVar10 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar14 = bVar1 & 0x7f;" (assignment_expression "*pbVar14 = bVar1 & 0x7f" (pointer_expression "*pbVar14" * identifier) = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (expression_statement "unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));" (assignment_expression "unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)))" identifier = (cast_expression "(uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)))" ( (binary_expression "(int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1))" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1))" ( (binary_expression "(int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)" (cast_expression "(int)(pbVar14 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar14 + 1)" ( (binary_expression "pbVar14 + 1" identifier + number_literal) ))) - (parenthesized_expression "((int)unaff_s2 + (int)unaff_s1)" ( (binary_expression "(int)unaff_s2 + (int)unaff_s1" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) }) while (parenthesized_expression "(param_3 + iVar9 != pppppuVar10)" ( (binary_expression "param_3 + iVar9 != pppppuVar10" (binary_expression "param_3 + iVar9" identifier + identifier) != identifier) )) ;) })) (expression_statement "param_4 = (uint *)0x0;" (assignment_expression "param_4 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppuVar12 = &local_28;" (assignment_expression "pppppuVar12 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (expression_statement "iVar9 = 0x14;" (assignment_expression "iVar9 = 0x14" identifier = number_literal) ;) (expression_statement "ppppuVar4 = (uint ****)FUN_001210f8(param_2);" (assignment_expression "ppppuVar4 = (uint ****)FUN_001210f8(param_2)" identifier = (cast_expression "(uint ****)FUN_001210f8(param_2)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "FUN_001210f8(param_2)" identifier (argument_list "(param_2)" ( identifier ))))) ;) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }" if (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" ( (binary_expression "ppppuVar4 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }" { (expression_statement "(*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));" (call_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114))" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)" ( (pointer_expression "*(code *)PTR_sqlite3_bind_int64_00190a90" * (cast_expression "(code *)PTR_sqlite3_bind_int64_00190a90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(param_2 + 0x110)" * (cast_expression "(undefined4 *)(param_2 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x110)" ( (binary_expression "param_2 + 0x110" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x114)" * (cast_expression "(undefined4 *)(param_2 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x114)" ( (binary_expression "param_2 + 0x114" identifier + number_literal) )))) ))) ;) (expression_statement "iVar9 = 2;" (assignment_expression "iVar9 = 2" identifier = number_literal) ;) (expression_statement "local_40 = PTR_sqlite3_free_0019096c;" (assignment_expression "local_40 = PTR_sqlite3_free_0019096c" identifier = identifier) ;) (expression_statement "pppppuVar12 = unaff_s2;" (assignment_expression "pppppuVar12 = unaff_s2" identifier = identifier) ;) (expression_statement "param_4 = unaff_s1;" (assignment_expression "param_4 = unaff_s1" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);" (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x2f8c)" * (cast_expression "(code *)(PTR_LAB_00190bdc + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x2f8c)" ( (binary_expression "PTR_LAB_00190bdc + 0x2f8c" identifier + number_literal) )))) )) (argument_list "(local_28)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sqlite3_step_00190990)(local_28);" (call_expression "(*(code *)PTR_sqlite3_step_00190990)(local_28)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_00190990)" ( (pointer_expression "*(code *)PTR_sqlite3_step_00190990" * (cast_expression "(code *)PTR_sqlite3_step_00190990" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_28)" ( identifier ))) ;) (expression_statement "ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();" (assignment_expression "ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)()" identifier = (cast_expression "(uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)()" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)()" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_00190a5c)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_00190a5c" * (cast_expression "(code *)PTR_sqlite3_reset_00190a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "*param_1 = ppppuVar4;" (assignment_expression "*param_1 = ppppuVar4" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "pppppuVar10 = (uint *****)local_28;" (assignment_expression "pppppuVar10 = (uint *****)local_28" identifier = (cast_expression "(uint *****)local_28" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) }) (else_clause "else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }" else (compound_statement "{\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }" { (expression_statement "pppppuVar10 = unaff_s2;" (assignment_expression "pppppuVar10 = unaff_s2" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)();" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)()" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "*param_1 = ppppuVar4;" (assignment_expression "*param_1 = ppppuVar4" (pointer_expression "*param_1" * identifier) = identifier) ;) }))) (goto_statement "goto LAB_00136304;" goto statement_identifier ;) })) })) (expression_statement "*param_1 = (uint ****)0x7;" (assignment_expression "*param_1 = (uint ****)0x7" (pointer_expression "*param_1" * identifier) = (cast_expression "(uint ****)0x7" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) })) (labeled_statement "LAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;" statement_identifier : (expression_statement "ppppuVar4 = *(uint *****)puVar2;" (assignment_expression "ppppuVar4 = *(uint *****)puVar2" identifier = (pointer_expression "*(uint *****)puVar2" * (cast_expression "(uint *****)puVar2" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) ;)) (if_statement "if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }" if (parenthesized_expression "((uint ****)local_24 == ppppuVar4)" ( (binary_expression "(uint ****)local_24 == ppppuVar4" (cast_expression "(uint ****)local_24" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == identifier) )) (compound_statement "{\n    return ppppuVar4;\n  }" { (return_statement "return ppppuVar4;" return identifier ;) })) (expression_statement "puVar25 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar25 = 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_6c = puVar2;" (assignment_expression "puStack_6c = puVar2" identifier = identifier) ;) (expression_statement "piVar21 = *(int **)(puVar25 + 0x5a948);" (assignment_expression "piVar21 = *(int **)(puVar25 + 0x5a948)" identifier = (pointer_expression "*(int **)(puVar25 + 0x5a948)" * (cast_expression "(int **)(puVar25 + 0x5a948)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a948)" ( (binary_expression "puVar25 + 0x5a948" identifier + number_literal) ))))) ;) (expression_statement "pppuStack_7c = (uint ***)*piVar21;" (assignment_expression "pppuStack_7c = (uint ***)*piVar21" identifier = (cast_expression "(uint ***)*piVar21" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*piVar21" * identifier))) ;) (expression_statement "pppppuVar6 = pppppuVar10;" (assignment_expression "pppppuVar6 = pppppuVar10" identifier = identifier) ;) (expression_statement "pppppuVar13 = pppppuVar12;" (assignment_expression "pppppuVar13 = pppppuVar12" identifier = identifier) ;) (expression_statement "puVar16 = param_4;" (assignment_expression "puVar16 = param_4" identifier = identifier) ;) (expression_statement "ppppuStack_78 = (uint ****)unaff_s0;" (assignment_expression "ppppuStack_78 = (uint ****)unaff_s0" identifier = (cast_expression "(uint ****)unaff_s0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "puStack_74 = unaff_s1;" (assignment_expression "puStack_74 = unaff_s1" identifier = identifier) ;) (expression_statement "ppppuStack_70 = (uint ****)unaff_s2;" (assignment_expression "ppppuStack_70 = (uint ****)unaff_s2" identifier = (cast_expression "(uint ****)unaff_s2" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppuStack_68 = (uint ****)unaff_s4;" (assignment_expression "ppppuStack_68 = (uint ****)unaff_s4" identifier = (cast_expression "(uint ****)unaff_s4" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iStack_64 = unaff_s5;" (assignment_expression "iStack_64 = unaff_s5" identifier = identifier) ;) (if_statement "if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }" if (parenthesized_expression "(*pppppuVar10 == (uint ****)0x0)" ( (binary_expression "*pppppuVar10 == (uint ****)0x0" (pointer_expression "*pppppuVar10" * identifier) == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }" { (expression_statement "iVar23 = *(int *)(iVar9 + 0x18);" (assignment_expression "iVar23 = *(int *)(iVar9 + 0x18)" identifier = (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pppppuVar11 = pppppuVar10;" (assignment_expression "pppppuVar11 = pppppuVar10" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puVar25 + 0x5a6ac))();" (assignment_expression "iVar5 = (**(code **)(puVar25 + 0x5a6ac))()" identifier = (call_expression "(**(code **)(puVar25 + 0x5a6ac))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a6ac))" ( (pointer_expression "**(code **)(puVar25 + 0x5a6ac)" * (pointer_expression "*(code **)(puVar25 + 0x5a6ac)" * (cast_expression "(code **)(puVar25 + 0x5a6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a6ac)" ( (binary_expression "puVar25 + 0x5a6ac" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }" { (expression_statement "uVar24 = iVar23 + 2;" (assignment_expression "uVar24 = iVar23 + 2" identifier = (binary_expression "iVar23 + 2" identifier + number_literal)) ;) (expression_statement "pppppuVar13 = (uint *****)(uVar24 >> 0x1d);" (assignment_expression "pppppuVar13 = (uint *****)(uVar24 >> 0x1d)" identifier = (cast_expression "(uint *****)(uVar24 >> 0x1d)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar24 >> 0x1d)" ( (binary_expression "uVar24 >> 0x1d" identifier >> number_literal) )))) ;) (expression_statement "pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);" (assignment_expression "pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2)" identifier = (cast_expression "(uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2)" ( (binary_expression "uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2" (binary_expression "uVar24 * 7 >> 0x1f" (binary_expression "uVar24 * 7" identifier * number_literal) >> number_literal) | (binary_expression "((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2" (parenthesized_expression "((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7))" ( (binary_expression "(((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)" (parenthesized_expression "(((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f))" ( (binary_expression "((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)" (parenthesized_expression "((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3)" ( (binary_expression "(uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3" (cast_expression "(uint)pppppuVar13" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)uVar24 >> 0x1f) << 3" (parenthesized_expression "((int)uVar24 >> 0x1f)" ( (binary_expression "(int)uVar24 >> 0x1f" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) )) - (parenthesized_expression "((int)uVar24 >> 0x1f)" ( (binary_expression "(int)uVar24 >> 0x1f" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar24 * 8 < uVar24 * 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 * 8 < uVar24 * 7)" ( (binary_expression "uVar24 * 8 < uVar24 * 7" (binary_expression "uVar24 * 8" identifier * number_literal) < (binary_expression "uVar24 * 7" identifier * number_literal)) )))) )) * number_literal)) )))) ;) (expression_statement "pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);" (assignment_expression "pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe)" identifier = (cast_expression "(uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe)" (parenthesized_expression "(*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))" ( (pointer_expression "*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48)" * (cast_expression "(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0x5a6cc) + -0x2b48)" ( (binary_expression "*(int *)(puVar25 + 0x5a6cc) + -0x2b48" (pointer_expression "*(int *)(puVar25 + 0x5a6cc)" * (cast_expression "(int *)(puVar25 + 0x5a6cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x5a6cc)" ( (binary_expression "puVar25 + 0x5a6cc" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppuVar11,uVar24 * 0xe)" ( identifier , (binary_expression "uVar24 * 0xe" identifier * number_literal) ))))) ;) (if_statement "if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }" if (parenthesized_expression "(pppppuVar6 != (uint *****)0x0)" ( (binary_expression "pppppuVar6 != (uint *****)0x0" identifier != (cast_expression "(uint *****)0x0" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }" { (expression_statement "iVar5 = *(int *)(puVar25 + 0x5a788);" (assignment_expression "iVar5 = *(int *)(puVar25 + 0x5a788)" identifier = (pointer_expression "*(int *)(puVar25 + 0x5a788)" * (cast_expression "(int *)(puVar25 + 0x5a788)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x5a788)" ( (binary_expression "puVar25 + 0x5a788" identifier + number_literal) ))))) ;) (expression_statement "pppppuVar13 = (uint *****)&pppuStack_8c;" (assignment_expression "pppppuVar13 = (uint *****)&pppuStack_8c" identifier = (cast_expression "(uint *****)&pppuStack_8c" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&pppuStack_8c" & identifier))) ;) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppuVar11 = pppppuVar13;" (assignment_expression "pppppuVar11 = pppppuVar13" identifier = identifier) ;) (expression_statement "ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);" (assignment_expression "ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16)" identifier = (cast_expression "(uint ****)FUN_001210f8(iVar9,0x16)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "FUN_001210f8(iVar9,0x16)" identifier (argument_list "(iVar9,0x16)" ( identifier , number_literal ))))) ;) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }" if (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" ( (binary_expression "ppppuVar4 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }" { (expression_statement "pcVar28 = *(code **)(puVar25 + 0x5a5b4);" (assignment_expression "pcVar28 = *(code **)(puVar25 + 0x5a5b4)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a5b4)" * (cast_expression "(code **)(puVar25 + 0x5a5b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a5b4)" ( (binary_expression "puVar25 + 0x5a5b4" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar26 = *(code **)(puVar25 + 0x5a4b4);" (assignment_expression "pcVar26 = *(code **)(puVar25 + 0x5a4b4)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a4b4)" * (cast_expression "(code **)(puVar25 + 0x5a4b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a4b4)" ( (binary_expression "puVar25 + 0x5a4b4" identifier + number_literal) ))))) ;) (expression_statement "pppppuVar11 = (uint *****)0x0;" (assignment_expression "pppppuVar11 = (uint *****)0x0" identifier = (cast_expression "(uint *****)0x0" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppuVar22 = (uint *****)(uVar24 * 4);" (assignment_expression "pppppuVar22 = (uint *****)(uVar24 * 4)" identifier = (cast_expression "(uint *****)(uVar24 * 4)" ( (type_descriptor "uint *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar24 * 4)" ( (binary_expression "uVar24 * 4" identifier * number_literal) )))) ;) (expression_statement "(*pcVar28)(pppuStack_8c,1);" (call_expression "(*pcVar28)(pppuStack_8c,1)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pppuStack_8c,1)" ( identifier , number_literal ))) ;) (expression_statement "iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);" (assignment_expression "iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c)" identifier = (call_expression "(**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a4b4))" ( (pointer_expression "**(code **)(puVar25 + 0x5a4b4)" * (pointer_expression "*(code **)(puVar25 + 0x5a4b4)" * (cast_expression "(code **)(puVar25 + 0x5a4b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a4b4)" ( (binary_expression "puVar25 + 0x5a4b4" identifier + number_literal) ))))) )) (argument_list "(pppuStack_8c)" ( identifier )))) ;) (if_statement "if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }" if (parenthesized_expression "(iVar23 == 100)" ( (binary_expression "iVar23 == 100" identifier == number_literal) )) (compound_statement "{\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }" { (expression_statement "iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);" (assignment_expression "iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0)" identifier = (call_expression "(**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a4c4))" ( (pointer_expression "**(code **)(puVar25 + 0x5a4c4)" * (pointer_expression "*(code **)(puVar25 + 0x5a4c4)" * (cast_expression "(code **)(puVar25 + 0x5a4c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a4c4)" ( (binary_expression "puVar25 + 0x5a4c4" identifier + number_literal) ))))) )) (argument_list "(pppuStack_8c,0)" ( identifier , number_literal )))) ;) (expression_statement "iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);" (assignment_expression "iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0)" identifier = (call_expression "(**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a4c0))" ( (pointer_expression "**(code **)(puVar25 + 0x5a4c0)" * (pointer_expression "*(code **)(puVar25 + 0x5a4c0)" * (cast_expression "(code **)(puVar25 + 0x5a4c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a4c0)" ( (binary_expression "puVar25 + 0x5a4c0" identifier + number_literal) ))))) )) (argument_list "(pppuStack_8c,0)" ( identifier , number_literal )))) ;) (expression_statement "pppppuVar22 = pppppuVar11;" (assignment_expression "pppppuVar22 = pppppuVar11" identifier = identifier) ;) (if_statement "if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }" if (parenthesized_expression "((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0'))" ( (binary_expression "(iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(iVar23 + iVar7 + -1) < '\0')" ( (binary_expression "*(char *)(iVar23 + iVar7 + -1) < '\0'" (pointer_expression "*(char *)(iVar23 + iVar7 + -1)" * (cast_expression "(char *)(iVar23 + iVar7 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar7 + -1)" ( (binary_expression "iVar23 + iVar7 + -1" (binary_expression "iVar23 + iVar7" identifier + identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)uVar24) goto LAB_0013690c;" if (parenthesized_expression "(0 < (int)uVar24)" ( (binary_expression "0 < (int)uVar24" number_literal < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0013690c;" goto statement_identifier ;)) (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a580)" * (cast_expression "(code **)(puVar25 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a580)" ( (binary_expression "puVar25 + 0x5a580" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }" else (compound_statement "{\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }" { (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a580)" * (cast_expression "(code **)(puVar25 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a580)" ( (binary_expression "puVar25 + 0x5a580" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }" if (parenthesized_expression "(0 < (int)uVar24)" ( (binary_expression "0 < (int)uVar24" number_literal < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }" if (parenthesized_expression "(0 < iVar7)" ( (binary_expression "0 < iVar7" number_literal < identifier) )) (compound_statement "{\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }" { (expression_statement "puVar18 = auStack_88;" (assignment_expression "puVar18 = auStack_88" identifier = identifier) ;) (expression_statement "pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8)" identifier = (cast_expression "(code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0x5a664) + 0x3ec8)" ( (binary_expression "*(int *)(puVar25 + 0x5a664) + 0x3ec8" (pointer_expression "*(int *)(puVar25 + 0x5a664)" * (cast_expression "(int *)(puVar25 + 0x5a664)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x5a664)" ( (binary_expression "puVar25 + 0x5a664" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "pppppuVar11 = pppppuVar6;" (assignment_expression "pppppuVar11 = pppppuVar6" identifier = identifier) ;) (do_statement "do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);" do (compound_statement "{\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  }" { (expression_statement "iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);" (assignment_expression "iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18)" identifier = (call_expression "(*pcVar27)(iVar23 + iVar29,puVar18)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar23 + iVar29,puVar18)" ( (binary_expression "iVar23 + iVar29" identifier + identifier) , identifier )))) ;) (expression_statement "iVar29 = iVar29 + iVar8;" (assignment_expression "iVar29 = iVar29 + iVar8" identifier = (binary_expression "iVar29 + iVar8" identifier + identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (expression_statement "*pppppuVar11 = (uint ****)pppuStack_84;" (assignment_expression "*pppppuVar11 = (uint ****)pppuStack_84" (pointer_expression "*pppppuVar11" * identifier) = (cast_expression "(uint ****)pppuStack_84" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (uVar24 == uVar19) goto LAB_0013666c;" if (parenthesized_expression "(uVar24 == uVar19)" ( (binary_expression "uVar24 == uVar19" identifier == identifier) )) (goto_statement "goto LAB_0013666c;" goto statement_identifier ;)) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" identifier = (binary_expression "pppppuVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar29 < iVar7)" ( (binary_expression "iVar29 < iVar7" identifier < identifier) )) ;) })) (labeled_statement "LAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;" statement_identifier : (expression_statement "pppppuVar11 = pppppuVar6 + uVar19;" (assignment_expression "pppppuVar11 = pppppuVar6 + uVar19" identifier = (binary_expression "pppppuVar6 + uVar19" identifier + identifier)) ;)) (do_statement "do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);" do (compound_statement "{\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                }" { (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (expression_statement "*pppppuVar11 = (uint ****)0x0;" (assignment_expression "*pppppuVar11 = (uint ****)0x0" (pointer_expression "*pppppuVar11" * identifier) = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" identifier = (binary_expression "pppppuVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar19 < (int)uVar24)" ( (binary_expression "(int)uVar19 < (int)uVar24" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a580)" * (cast_expression "(code **)(puVar25 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a580)" ( (binary_expression "puVar25 + 0x5a580" identifier + number_literal) ))))) ;) (expression_statement "pppppuVar11 = pppppuVar22;" (assignment_expression "pppppuVar11 = pppppuVar22" identifier = identifier) ;) })) }))) }) (else_clause "else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }" else (compound_statement "{\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }" { (expression_statement "(**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);" (call_expression "(**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a87c))" ( (pointer_expression "**(code **)(puVar25 + 0x5a87c)" * (pointer_expression "*(code **)(puVar25 + 0x5a87c)" * (cast_expression "(code **)(puVar25 + 0x5a87c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a87c)" ( (binary_expression "puVar25 + 0x5a87c" identifier + number_literal) ))))) )) (argument_list "(pppppuVar6,0)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a580)" * (cast_expression "(code **)(puVar25 + 0x5a580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a580)" ( (binary_expression "puVar25 + 0x5a580" identifier + number_literal) ))))) ;)) (expression_statement "pppppuVar11 = pppppuVar22;" (assignment_expression "pppppuVar11 = pppppuVar22" identifier = identifier) ;) }))) (expression_statement "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);" (assignment_expression "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c)" identifier = (cast_expression "(uint ****)(*pcVar27)(pppuStack_8c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*pcVar27)(pppuStack_8c)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pppuStack_8c)" ( identifier ))))) ;) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }" if (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" ( (binary_expression "ppppuVar4 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }" { (if_statement "if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }" if (parenthesized_expression "(((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40))" ( (binary_expression "((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)" (parenthesized_expression "((int)local_40 < 0)" ( (binary_expression "(int)local_40 < 0" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(*pppppuVar6 < (uint ****)-(int)local_40)" ( (binary_expression "*pppppuVar6 < (uint ****)-(int)local_40" (pointer_expression "*pppppuVar6" * identifier) < (cast_expression "(uint ****)-(int)local_40" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (unary_expression "-(int)local_40" - (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n              ppppuVar4 = (uint ****)0x0;\n            }" { (expression_statement "ppppuVar4 = (uint ****)0x0;" (assignment_expression "ppppuVar4 = (uint ****)0x0" identifier = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) }) (else_clause "else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }" else (compound_statement "{\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }" { (expression_statement "ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);" (assignment_expression "ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6)" identifier = (cast_expression "(uint ****)(local_40 + (int)*pppppuVar6)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(local_40 + (int)*pppppuVar6)" ( (binary_expression "local_40 + (int)*pppppuVar6" identifier + (cast_expression "(int)*pppppuVar6" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppuVar6" * identifier))) )))) ;) }))) (expression_statement "*pppppuVar6 = ppppuVar4;" (assignment_expression "*pppppuVar6 = ppppuVar4" (pointer_expression "*pppppuVar6" * identifier) = identifier) ;) (expression_statement "pppppuVar11 = pppppuVar6 + 1;" (assignment_expression "pppppuVar11 = pppppuVar6 + 1" identifier = (binary_expression "pppppuVar6 + 1" identifier + number_literal)) ;) (if_statement "if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }" if (parenthesized_expression "(-1 < *(int *)(iVar9 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar9 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));" do (compound_statement "{\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              }" { (while_statement "while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }" while (parenthesized_expression "(*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11))" ( (binary_expression "*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)" (pointer_expression "*param_4" * identifier) <= (call_expression "(uint)((int)*pppppuVar12 + (int)*pppppuVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*pppppuVar12 + (int)*pppppuVar11)" ( (binary_expression "(int)*pppppuVar12 + (int)*pppppuVar11" (cast_expression "(int)*pppppuVar12" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppuVar12" * identifier)) + (cast_expression "(int)*pppppuVar11" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppuVar11" * identifier))) )))) )) (compound_statement "{\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }" { (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "*pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);" (assignment_expression "*pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4)" (pointer_expression "*pppppuVar11" * identifier) = (cast_expression "(uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4)" ( (binary_expression "((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4" (parenthesized_expression "((int)*pppppuVar12 + (int)*pppppuVar11)" ( (binary_expression "(int)*pppppuVar12 + (int)*pppppuVar11" (cast_expression "(int)*pppppuVar12" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppuVar12" * identifier)) + (cast_expression "(int)*pppppuVar11" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppuVar11" * identifier))) )) - (pointer_expression "*param_4" * identifier)) )))) ;) (expression_statement "pppppuVar12 = pppppuVar12 + 1;" (assignment_expression "pppppuVar12 = pppppuVar12 + 1" identifier = (binary_expression "pppppuVar12 + 1" identifier + number_literal)) ;) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" identifier = (binary_expression "pppppuVar11 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;" if (parenthesized_expression "(*(int *)(iVar9 + 0x18) < iVar23)" ( (binary_expression "*(int *)(iVar9 + 0x18) < iVar23" (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) < identifier) )) (goto_statement "goto LAB_00136714;" goto statement_identifier ;)) })) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "*pppppuVar11 = (uint ****)0x0;" (assignment_expression "*pppppuVar11 = (uint ****)0x0" (pointer_expression "*pppppuVar11" * identifier) = (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppppuVar12 = pppppuVar12 + 1;" (assignment_expression "pppppuVar12 = pppppuVar12 + 1" identifier = (binary_expression "pppppuVar12 + 1" identifier + number_literal)) ;) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" identifier = (binary_expression "pppppuVar11 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar23 <= *(int *)(iVar9 + 0x18))" ( (binary_expression "iVar23 <= *(int *)(iVar9 + 0x18)" identifier <= (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) )) ;) })) (labeled_statement "LAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;" statement_identifier : (expression_statement "pppppuVar11 = pppppuVar6 + uVar24;" (assignment_expression "pppppuVar11 = pppppuVar6 + uVar24" identifier = (binary_expression "pppppuVar6 + uVar24" identifier + identifier)) ;)) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppuVar12 = pppppuVar6;" (assignment_expression "pppppuVar12 = pppppuVar6" identifier = identifier) ;) (expression_statement "puVar17 = (uint *)0x0;" (assignment_expression "puVar17 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }" if (parenthesized_expression "(0 < (int)uVar24)" ( (binary_expression "0 < (int)uVar24" number_literal < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }" { (do_statement "do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);" do (compound_statement "{\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              }" { (expression_statement "ppppuVar4 = *pppppuVar12;" (assignment_expression "ppppuVar4 = *pppppuVar12" identifier = (pointer_expression "*pppppuVar12" * identifier)) ;) (expression_statement "pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);" (assignment_expression "pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16)" identifier = (cast_expression "(byte *)((int)pppppuVar11 + (int)puVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar11 + (int)puVar16)" ( (binary_expression "(int)pppppuVar11 + (int)puVar16" (cast_expression "(int)pppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);" do (compound_statement "{\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                }" { (expression_statement "pbVar14 = pbVar3;" (assignment_expression "pbVar14 = pbVar3" identifier = identifier) ;) (expression_statement "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);" (assignment_expression "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7)" identifier = (cast_expression "(uint ****)((uint)ppppuVar4 >> 7)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppuVar4 >> 7)" ( (binary_expression "(uint)ppppuVar4 >> 7" (cast_expression "(uint)ppppuVar4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar1 = (byte)ppppuVar4;" (assignment_expression "bVar1 = (byte)ppppuVar4" identifier = (cast_expression "(byte)ppppuVar4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar14 = bVar1 | 0x80;" (assignment_expression "*pbVar14 = bVar1 | 0x80" (pointer_expression "*pbVar14" * identifier) = (binary_expression "bVar1 | 0x80" identifier | number_literal)) ;) (expression_statement "ppppuVar4 = ppppuVar15;" (assignment_expression "ppppuVar4 = ppppuVar15" identifier = identifier) ;) (expression_statement "pbVar3 = pbVar14 + 1;" (assignment_expression "pbVar3 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppppuVar15 != (uint ****)0x0)" ( (binary_expression "ppppuVar15 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) ;) (expression_statement "pppppuVar12 = pppppuVar12 + 1;" (assignment_expression "pppppuVar12 = pppppuVar12 + 1" identifier = (binary_expression "pppppuVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar14 = bVar1 & 0x7f;" (assignment_expression "*pbVar14 = bVar1 & 0x7f" (pointer_expression "*pbVar14" * identifier) = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (expression_statement "puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));" (assignment_expression "puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)))" identifier = (cast_expression "(uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)))" ( (binary_expression "(int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16))" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16))" ( (binary_expression "(int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)" (cast_expression "(int)(pbVar14 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar14 + 1)" ( (binary_expression "pbVar14 + 1" identifier + number_literal) ))) - (parenthesized_expression "((int)pppppuVar11 + (int)puVar16)" ( (binary_expression "(int)pppppuVar11 + (int)puVar16" (cast_expression "(int)pppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) (expression_statement "puVar17 = puVar16;" (assignment_expression "puVar17 = puVar16" identifier = identifier) ;) }) while (parenthesized_expression "(pppppuVar11 != pppppuVar12)" ( (binary_expression "pppppuVar11 != pppppuVar12" identifier != identifier) )) ;) })) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);" (assignment_expression "ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17)" identifier = (cast_expression "(uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)(iVar5 + 0x10f8))(iVar9,0x17)" (parenthesized_expression "(*(code *)(iVar5 + 0x10f8))" ( (pointer_expression "*(code *)(iVar5 + 0x10f8)" * (cast_expression "(code *)(iVar5 + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10f8)" ( (binary_expression "iVar5 + 0x10f8" identifier + number_literal) )))) )) (argument_list "(iVar9,0x17)" ( identifier , number_literal ))))) ;) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }" if (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" ( (binary_expression "ppppuVar4 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }" { (expression_statement "(*pcVar28)(pppuStack_8c,1,0,0);" (call_expression "(*pcVar28)(pppuStack_8c,1,0,0)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pppuStack_8c,1,0,0)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "uStack_b5 = 0;" (assignment_expression "uStack_b5 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);" (call_expression "(*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2)" (parenthesized_expression "(*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))" ( (pointer_expression "*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c)" * (cast_expression "(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0x5a700) + 0x2f8c)" ( (binary_expression "*(int *)(puVar25 + 0x5a700) + 0x2f8c" (pointer_expression "*(int *)(puVar25 + 0x5a700)" * (cast_expression "(int *)(puVar25 + 0x5a700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x5a700)" ( (binary_expression "puVar25 + 0x5a700" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppuStack_8c,2)" ( identifier , number_literal ))) ;) (expression_statement "(*pcVar26)(pppuStack_8c);" (call_expression "(*pcVar26)(pppuStack_8c)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pppuStack_8c)" ( identifier ))) ;) (expression_statement "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);" (assignment_expression "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c)" identifier = (cast_expression "(uint ****)(*pcVar27)(pppuStack_8c)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*pcVar27)(pppuStack_8c)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pppuStack_8c)" ( identifier ))))) ;) (expression_statement "pcVar28 = *(code **)(puVar25 + 0x5a5ac);" (assignment_expression "pcVar28 = *(code **)(puVar25 + 0x5a5ac)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a5ac)" * (cast_expression "(code **)(puVar25 + 0x5a5ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a5ac)" ( (binary_expression "puVar25 + 0x5a5ac" identifier + number_literal) ))))) ;) (expression_statement "*pppppuVar10 = ppppuVar4;" (assignment_expression "*pppppuVar10 = ppppuVar4" (pointer_expression "*pppppuVar10" * identifier) = identifier) ;) (expression_statement "(*pcVar28)(pppuStack_8c,2);" (call_expression "(*pcVar28)(pppuStack_8c,2)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pppuStack_8c,2)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar25 + 0x5a490))();" (call_expression "(**(code **)(puVar25 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a490))" ( (pointer_expression "**(code **)(puVar25 + 0x5a490)" * (pointer_expression "*(code **)(puVar25 + 0x5a490)" * (cast_expression "(code **)(puVar25 + 0x5a490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a490)" ( (binary_expression "puVar25 + 0x5a490" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pppppuVar13 = pppppuVar11;" (assignment_expression "pppppuVar13 = pppppuVar11" identifier = identifier) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) }) (else_clause "else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }" else (compound_statement "{\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }" { (expression_statement "(**(code **)(puVar25 + 0x5a490))();" (call_expression "(**(code **)(puVar25 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a490))" ( (pointer_expression "**(code **)(puVar25 + 0x5a490)" * (pointer_expression "*(code **)(puVar25 + 0x5a490)" * (cast_expression "(code **)(puVar25 + 0x5a490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a490)" ( (binary_expression "puVar25 + 0x5a490" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*pppppuVar10 = ppppuVar4;" (assignment_expression "*pppppuVar10 = ppppuVar4" (pointer_expression "*pppppuVar10" * identifier) = identifier) ;) }))) (goto_statement "goto LAB_00136530;" goto statement_identifier ;) })) })) (expression_statement "pppppuVar13 = pppppuVar11;" (assignment_expression "pppppuVar13 = pppppuVar11" identifier = identifier) ;) (expression_statement "(**(code **)(puVar25 + 0x5a490))();" (call_expression "(**(code **)(puVar25 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a490))" ( (pointer_expression "**(code **)(puVar25 + 0x5a490)" * (pointer_expression "*(code **)(puVar25 + 0x5a490)" * (cast_expression "(code **)(puVar25 + 0x5a490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a490)" ( (binary_expression "puVar25 + 0x5a490" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*pppppuVar10 = ppppuVar4;" (assignment_expression "*pppppuVar10 = ppppuVar4" (pointer_expression "*pppppuVar10" * identifier) = identifier) ;) (goto_statement "goto LAB_00136530;" goto statement_identifier ;) })) })) (expression_statement "pppppuVar6 = pppppuVar11;" (assignment_expression "pppppuVar6 = pppppuVar11" identifier = identifier) ;) (expression_statement "*pppppuVar10 = (uint ****)0x7;" (assignment_expression "*pppppuVar10 = (uint ****)0x7" (pointer_expression "*pppppuVar10" * identifier) = (cast_expression "(uint ****)0x7" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) })) (labeled_statement "LAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;" statement_identifier : (expression_statement "ppppuVar4 = (uint ****)*piVar21;" (assignment_expression "ppppuVar4 = (uint ****)*piVar21" identifier = (cast_expression "(uint ****)*piVar21" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*piVar21" * identifier))) ;)) (if_statement "if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }" if (parenthesized_expression "((uint ****)pppuStack_7c == ppppuVar4)" ( (binary_expression "(uint ****)pppuStack_7c == ppppuVar4" (cast_expression "(uint ****)pppuStack_7c" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == identifier) )) (compound_statement "{\n    return ppppuVar4;\n  }" { (return_statement "return ppppuVar4;" return identifier ;) })) (expression_statement "pcVar28 = *(code **)(puVar25 + 0x5a91c);" (assignment_expression "pcVar28 = *(code **)(puVar25 + 0x5a91c)" identifier = (pointer_expression "*(code **)(puVar25 + 0x5a91c)" * (cast_expression "(code **)(puVar25 + 0x5a91c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x5a91c)" ( (binary_expression "puVar25 + 0x5a91c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppppuVar20 = pppppuVar6[5];" (assignment_expression "ppppuVar20 = pppppuVar6[5]" identifier = (subscript_expression "pppppuVar6[5]" identifier [ number_literal ])) ;) (expression_statement "dVar30 = (double)CONCAT44(pppppuVar13,puVar16);" (assignment_expression "dVar30 = (double)CONCAT44(pppppuVar13,puVar16)" identifier = (cast_expression "(double)CONCAT44(pppppuVar13,puVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pppppuVar13,puVar16)" identifier (argument_list "(pppppuVar13,puVar16)" ( identifier , identifier ))))) ;) (expression_statement "ppppuVar15 = pppppuVar6[6];" (assignment_expression "ppppuVar15 = pppppuVar6[6]" identifier = (subscript_expression "pppppuVar6[6]" identifier [ number_literal ])) ;) (expression_statement "ppppuVar4 = pppppuVar6[8];" (assignment_expression "ppppuVar4 = pppppuVar6[8]" identifier = (subscript_expression "pppppuVar6[8]" identifier [ number_literal ])) ;) (if_statement "if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }" if (parenthesized_expression "((int)ppppuVar20 <= (int)ppppuVar15)" ( (binary_expression "(int)ppppuVar20 <= (int)ppppuVar15" (cast_expression "(int)ppppuVar20" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }" { (expression_statement "iVar9 = (**(code **)(pcVar28 + 0x5a220))();" (assignment_expression "iVar9 = (**(code **)(pcVar28 + 0x5a220))()" identifier = (call_expression "(**(code **)(pcVar28 + 0x5a220))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x5a220))" ( (pointer_expression "**(code **)(pcVar28 + 0x5a220)" * (pointer_expression "*(code **)(pcVar28 + 0x5a220)" * (cast_expression "(code **)(pcVar28 + 0x5a220)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x5a220)" ( (binary_expression "pcVar28 + 0x5a220" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }" { (expression_statement "ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);" (assignment_expression "ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4)" identifier = (cast_expression "(uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))" ( (pointer_expression "*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354)" * (cast_expression "(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x5a240) + 0x354)" ( (binary_expression "*(int *)(pcVar28 + 0x5a240) + 0x354" (pointer_expression "*(int *)(pcVar28 + 0x5a240)" * (cast_expression "(int *)(pcVar28 + 0x5a240)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x5a240)" ( (binary_expression "pcVar28 + 0x5a240" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppuVar4)" ( identifier ))))) ;) (if_statement "if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }" if (parenthesized_expression "(ppppuVar4 != (uint ****)0x0)" ( (binary_expression "ppppuVar4 != (uint ****)0x0" identifier != (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }" { (expression_statement "ppppuVar15 = pppppuVar6[6];" (assignment_expression "ppppuVar15 = pppppuVar6[6]" identifier = (subscript_expression "pppppuVar6[6]" identifier [ number_literal ])) ;) (expression_statement "pppppuVar6[8] = ppppuVar4;" (assignment_expression "pppppuVar6[8] = ppppuVar4" (subscript_expression "pppppuVar6[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);" (assignment_expression "pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2)" (subscript_expression "pppppuVar6[5]" identifier [ number_literal ]) = (cast_expression "(uint ****)((int)(ppppuVar20 + 1) * 2)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)(ppppuVar20 + 1) * 2)" ( (binary_expression "(int)(ppppuVar20 + 1) * 2" (cast_expression "(int)(ppppuVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppppuVar20 + 1)" ( (binary_expression "ppppuVar20 + 1" identifier + number_literal) ))) * number_literal) )))) ;) (goto_statement "goto LAB_001369b4;" goto statement_identifier ;) })) })) (return_statement "return (uint ****)0x0;" return (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal) ;) })) (labeled_statement "LAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);" statement_identifier : (expression_statement "pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);" (assignment_expression "pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1)" (subscript_expression "pppppuVar6[6]" identifier [ number_literal ]) = (cast_expression "(uint ****)((int)ppppuVar15 + 1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar15 + 1)" ( (binary_expression "(int)ppppuVar15 + 1" (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;" (assignment_expression "ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6" identifier = (binary_expression "ppppuVar4 + (int)ppppuVar15 * 6" identifier + (binary_expression "(int)ppppuVar15 * 6" (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "*(double *)ppppuVar4 = dVar30;" (assignment_expression "*(double *)ppppuVar4 = dVar30" (pointer_expression "*(double *)ppppuVar4" * (cast_expression "(double *)ppppuVar4" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined1 *)(ppppuVar4 + 4) = uStack_b5;" (assignment_expression "*(undefined1 *)(ppppuVar4 + 4) = uStack_b5" (pointer_expression "*(undefined1 *)(ppppuVar4 + 4)" * (cast_expression "(undefined1 *)(ppppuVar4 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppuVar4 + 4)" ( (binary_expression "ppppuVar4 + 4" identifier + number_literal) )))) = identifier) ;) (if_statement "if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }" if (parenthesized_expression "(0 < (int)ppppuVar15)" ( (binary_expression "0 < (int)ppppuVar15" number_literal < (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }" { (while_statement "while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }" { (expression_statement "ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);" (assignment_expression "ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1)" identifier = (cast_expression "(uint ****)((int)((int)ppppuVar15 - 1U) >> 1)" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)((int)ppppuVar15 - 1U) >> 1)" ( (binary_expression "(int)((int)ppppuVar15 - 1U) >> 1" (cast_expression "(int)((int)ppppuVar15 - 1U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppppuVar15 - 1U)" ( (binary_expression "(int)ppppuVar15 - 1U" (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) ))) >> number_literal) )))) ;) (expression_statement "ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;" (assignment_expression "ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6" identifier = (binary_expression "pppppuVar6[8] + (int)ppppuVar15 * 6" (subscript_expression "pppppuVar6[8]" identifier [ number_literal ]) + (binary_expression "(int)ppppuVar15 * 6" (cast_expression "(int)ppppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (if_statement "if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;" if (parenthesized_expression "(((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         )" ( (binary_expression "((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)" (parenthesized_expression "((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4)))))" ( (binary_expression "(*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))" (parenthesized_expression "(*(double *)ppppuVar20 <= dVar30)" ( (binary_expression "*(double *)ppppuVar20 <= dVar30" (pointer_expression "*(double *)ppppuVar20" * (cast_expression "(double *)ppppuVar20" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= identifier) )) && (parenthesized_expression "((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))" ( (parenthesized_expression "(*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4)))" ( (binary_expression "*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))" (binary_expression "*(double *)ppppuVar20 < dVar30" (pointer_expression "*(double *)ppppuVar20" * (cast_expression "(double *)ppppuVar20" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) || (parenthesized_expression "(*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))" ( (binary_expression "*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4)" (pointer_expression "*(byte *)(ppppuVar20 + 4)" * (cast_expression "(byte *)(ppppuVar20 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppuVar20 + 4)" ( (binary_expression "ppppuVar20 + 4" identifier + number_literal) )))) <= (pointer_expression "*(byte *)(ppppuVar4 + 4)" * (cast_expression "(byte *)(ppppuVar4 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppuVar4 + 4)" ( (binary_expression "ppppuVar4 + 4" identifier + number_literal) ))))) ))) )) ))) )) || (parenthesized_expression "(FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)" ( (comma_expression "FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0" (call_expression "FUN_0012e7ac(pppppuVar6,ppppuVar15)" identifier (argument_list "(pppppuVar6,ppppuVar15)" ( identifier , identifier ))) , (comma_expression "ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0" (assignment_expression "ppppuVar4 = ppppuVar20" identifier = identifier) , (binary_expression "ppppuVar15 == (uint ****)0x0" identifier == (cast_expression "(uint ****)0x0" ( (type_descriptor "uint ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)))) ))) )) (break_statement "break;" break ;)) (expression_statement "dVar30 = *(double *)ppppuVar20;" (assignment_expression "dVar30 = *(double *)ppppuVar20" identifier = (pointer_expression "*(double *)ppppuVar20" * (cast_expression "(double *)ppppuVar20" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) })) (return_statement "return ppppuVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (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 * IDENT)))) ;) (declaration TYPE (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 * IDENT))))) ;) (declaration TYPE (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 * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) << LIT)) ))) + (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 *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (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 *)))))) ) 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 LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (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 *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) )))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 *))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (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 *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (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 (pointer_expression * IDENT) = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = 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 *)))) ) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 *)))))) ) (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 *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) << LIT)) )) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT * LIT) < (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 *)))))) ) (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 * 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 *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 *)) ) 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 *))))) ) (call_expression IDENT (argument_list ( 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 *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) < (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (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 *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (unary_expression - (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 *))))) ) 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 *))))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) )))) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) )) - (pointer_expression * IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (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 *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 IDENT + LIT) )))) )) (argument_list ( 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 *))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (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 *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_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 *))))) ) 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 *))))) ) (pointer_expression * IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 ))))) ;) (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 { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) * LIT) )))) ;) (goto_statement goto statement_identifier ;) })) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT) ;) })) (labeled_statement statement_identifier : (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 *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) ))) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) <= IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) || (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) , (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 *))))) ) LIT)))) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) })) (return_statement return IDENT ;) })))
(function_definition "uint **** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  uint ****ppppuVar4;\n  int iVar5;\n  uint *****pppppuVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint *****pppppuVar10;\n  uint *****pppppuVar11;\n  uint *****pppppuVar12;\n  uint *****pppppuVar13;\n  byte *pbVar14;\n  uint ****ppppuVar15;\n  uint *puVar16;\n  uint *puVar17;\n  undefined1 *puVar18;\n  uint uVar19;\n  uint *****unaff_s0;\n  uint *unaff_s1;\n  uint ****ppppuVar20;\n  uint *****unaff_s2;\n  int *piVar21;\n  uint *****pppppuVar22;\n  uint *****unaff_s4;\n  int unaff_s5;\n  int iVar23;\n  uint uVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  code *pcVar28;\n  int iVar29;\n  double dVar30;\n  undefined1 uStack_b5;\n  uint ***pppuStack_8c;\n  undefined1 auStack_88 [4];\n  uint ***pppuStack_84;\n  uint ***pppuStack_7c;\n  uint ****ppppuStack_78;\n  uint *puStack_74;\n  uint ****ppppuStack_70;\n  undefined *puStack_6c;\n  uint ****ppppuStack_68;\n  int iStack_64;\n  undefined *local_40;\n  uint ****local_28;\n  uint ***local_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;\n  pppppuVar10 = param_1;\n  iVar9 = param_2;\n  pppppuVar12 = param_3;\n  if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }\nLAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;\n  if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_6c = puVar2;\n  piVar21 = *(int **)(puVar25 + 0x5a948);\n  pppuStack_7c = (uint ***)*piVar21;\n  pppppuVar6 = pppppuVar10;\n  pppppuVar13 = pppppuVar12;\n  puVar16 = param_4;\n  ppppuStack_78 = (uint ****)unaff_s0;\n  puStack_74 = unaff_s1;\n  ppppuStack_70 = (uint ****)unaff_s2;\n  ppppuStack_68 = (uint ****)unaff_s4;\n  iStack_64 = unaff_s5;\n  if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }\nLAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;\n  if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }\n  pcVar28 = *(code **)(puVar25 + 0x5a91c);\n  (*pcVar28)();\n  ppppuVar20 = pppppuVar6[5];\n  dVar30 = (double)CONCAT44(pppppuVar13,puVar16);\n  ppppuVar15 = pppppuVar6[6];\n  ppppuVar4 = pppppuVar6[8];\n  if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }\nLAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);\n  ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;\n  *(double *)ppppuVar4 = dVar30;\n  *(undefined1 *)(ppppuVar4 + 4) = uStack_b5;\n  if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }\n  return ppppuVar4;\n}" (type_identifier "uint") (pointer_declarator "**** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" (* "*") (pointer_declarator "*** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" (* "*") (pointer_declarator "** FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" (* "*") (pointer_declarator "* FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" (* "*") (function_declarator "FUN_001362bc(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" (identifier "FUN_001362bc") (parameter_list "(uint *****param_1,int param_2,uint *****param_3,uint *param_4)" (( "(") (parameter_declaration "uint *****param_1" (type_identifier "uint") (pointer_declarator "*****param_1" (* "*") (pointer_declarator "****param_1" (* "*") (pointer_declarator "***param_1" (* "*") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))))))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "uint *****param_3" (type_identifier "uint") (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 "uint *param_4" (type_identifier "uint") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))))))) (compound_statement "{\n  byte bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  uint ****ppppuVar4;\n  int iVar5;\n  uint *****pppppuVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint *****pppppuVar10;\n  uint *****pppppuVar11;\n  uint *****pppppuVar12;\n  uint *****pppppuVar13;\n  byte *pbVar14;\n  uint ****ppppuVar15;\n  uint *puVar16;\n  uint *puVar17;\n  undefined1 *puVar18;\n  uint uVar19;\n  uint *****unaff_s0;\n  uint *unaff_s1;\n  uint ****ppppuVar20;\n  uint *****unaff_s2;\n  int *piVar21;\n  uint *****pppppuVar22;\n  uint *****unaff_s4;\n  int unaff_s5;\n  int iVar23;\n  uint uVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  code *pcVar28;\n  int iVar29;\n  double dVar30;\n  undefined1 uStack_b5;\n  uint ***pppuStack_8c;\n  undefined1 auStack_88 [4];\n  uint ***pppuStack_84;\n  uint ***pppuStack_7c;\n  uint ****ppppuStack_78;\n  uint *puStack_74;\n  uint ****ppppuStack_70;\n  undefined *puStack_6c;\n  uint ****ppppuStack_68;\n  int iStack_64;\n  undefined *local_40;\n  uint ****local_28;\n  uint ***local_24;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;\n  pppppuVar10 = param_1;\n  iVar9 = param_2;\n  pppppuVar12 = param_3;\n  if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }\nLAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;\n  if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_6c = puVar2;\n  piVar21 = *(int **)(puVar25 + 0x5a948);\n  pppuStack_7c = (uint ***)*piVar21;\n  pppppuVar6 = pppppuVar10;\n  pppppuVar13 = pppppuVar12;\n  puVar16 = param_4;\n  ppppuStack_78 = (uint ****)unaff_s0;\n  puStack_74 = unaff_s1;\n  ppppuStack_70 = (uint ****)unaff_s2;\n  ppppuStack_68 = (uint ****)unaff_s4;\n  iStack_64 = unaff_s5;\n  if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }\nLAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;\n  if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }\n  pcVar28 = *(code **)(puVar25 + 0x5a91c);\n  (*pcVar28)();\n  ppppuVar20 = pppppuVar6[5];\n  dVar30 = (double)CONCAT44(pppppuVar13,puVar16);\n  ppppuVar15 = pppppuVar6[6];\n  ppppuVar4 = pppppuVar6[8];\n  if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }\nLAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);\n  ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;\n  *(double *)ppppuVar4 = dVar30;\n  *(undefined1 *)(ppppuVar4 + 4) = uStack_b5;\n  if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }\n  return ppppuVar4;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "byte *pbVar3;" (type_identifier "byte") (pointer_declarator "*pbVar3" (* "*") (identifier "pbVar3")) (; ";")) (declaration "uint ****ppppuVar4;" (type_identifier "uint") (pointer_declarator "****ppppuVar4" (* "*") (pointer_declarator "***ppppuVar4" (* "*") (pointer_declarator "**ppppuVar4" (* "*") (pointer_declarator "*ppppuVar4" (* "*") (identifier "ppppuVar4"))))) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint *****pppppuVar6;" (type_identifier "uint") (pointer_declarator "*****pppppuVar6" (* "*") (pointer_declarator "****pppppuVar6" (* "*") (pointer_declarator "***pppppuVar6" (* "*") (pointer_declarator "**pppppuVar6" (* "*") (pointer_declarator "*pppppuVar6" (* "*") (identifier "pppppuVar6")))))) (; ";")) (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 "uint *****pppppuVar10;" (type_identifier "uint") (pointer_declarator "*****pppppuVar10" (* "*") (pointer_declarator "****pppppuVar10" (* "*") (pointer_declarator "***pppppuVar10" (* "*") (pointer_declarator "**pppppuVar10" (* "*") (pointer_declarator "*pppppuVar10" (* "*") (identifier "pppppuVar10")))))) (; ";")) (declaration "uint *****pppppuVar11;" (type_identifier "uint") (pointer_declarator "*****pppppuVar11" (* "*") (pointer_declarator "****pppppuVar11" (* "*") (pointer_declarator "***pppppuVar11" (* "*") (pointer_declarator "**pppppuVar11" (* "*") (pointer_declarator "*pppppuVar11" (* "*") (identifier "pppppuVar11")))))) (; ";")) (declaration "uint *****pppppuVar12;" (type_identifier "uint") (pointer_declarator "*****pppppuVar12" (* "*") (pointer_declarator "****pppppuVar12" (* "*") (pointer_declarator "***pppppuVar12" (* "*") (pointer_declarator "**pppppuVar12" (* "*") (pointer_declarator "*pppppuVar12" (* "*") (identifier "pppppuVar12")))))) (; ";")) (declaration "uint *****pppppuVar13;" (type_identifier "uint") (pointer_declarator "*****pppppuVar13" (* "*") (pointer_declarator "****pppppuVar13" (* "*") (pointer_declarator "***pppppuVar13" (* "*") (pointer_declarator "**pppppuVar13" (* "*") (pointer_declarator "*pppppuVar13" (* "*") (identifier "pppppuVar13")))))) (; ";")) (declaration "byte *pbVar14;" (type_identifier "byte") (pointer_declarator "*pbVar14" (* "*") (identifier "pbVar14")) (; ";")) (declaration "uint ****ppppuVar15;" (type_identifier "uint") (pointer_declarator "****ppppuVar15" (* "*") (pointer_declarator "***ppppuVar15" (* "*") (pointer_declarator "**ppppuVar15" (* "*") (pointer_declarator "*ppppuVar15" (* "*") (identifier "ppppuVar15"))))) (; ";")) (declaration "uint *puVar16;" (type_identifier "uint") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "uint *puVar17;" (type_identifier "uint") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined1 *puVar18;" (type_identifier "undefined1") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "uint *****unaff_s0;" (type_identifier "uint") (pointer_declarator "*****unaff_s0" (* "*") (pointer_declarator "****unaff_s0" (* "*") (pointer_declarator "***unaff_s0" (* "*") (pointer_declarator "**unaff_s0" (* "*") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")))))) (; ";")) (declaration "uint *unaff_s1;" (type_identifier "uint") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "uint ****ppppuVar20;" (type_identifier "uint") (pointer_declarator "****ppppuVar20" (* "*") (pointer_declarator "***ppppuVar20" (* "*") (pointer_declarator "**ppppuVar20" (* "*") (pointer_declarator "*ppppuVar20" (* "*") (identifier "ppppuVar20"))))) (; ";")) (declaration "uint *****unaff_s2;" (type_identifier "uint") (pointer_declarator "*****unaff_s2" (* "*") (pointer_declarator "****unaff_s2" (* "*") (pointer_declarator "***unaff_s2" (* "*") (pointer_declarator "**unaff_s2" (* "*") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")))))) (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "uint *****pppppuVar22;" (type_identifier "uint") (pointer_declarator "*****pppppuVar22" (* "*") (pointer_declarator "****pppppuVar22" (* "*") (pointer_declarator "***pppppuVar22" (* "*") (pointer_declarator "**pppppuVar22" (* "*") (pointer_declarator "*pppppuVar22" (* "*") (identifier "pppppuVar22")))))) (; ";")) (declaration "uint *****unaff_s4;" (type_identifier "uint") (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") (identifier "unaff_s5") (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "undefined *puVar25;" (type_identifier "undefined") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "code *pcVar27;" (type_identifier "code") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "code *pcVar28;" (type_identifier "code") (pointer_declarator "*pcVar28" (* "*") (identifier "pcVar28")) (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "double dVar30;" (primitive_type "double") (identifier "dVar30") (; ";")) (declaration "undefined1 uStack_b5;" (type_identifier "undefined1") (identifier "uStack_b5") (; ";")) (declaration "uint ***pppuStack_8c;" (type_identifier "uint") (pointer_declarator "***pppuStack_8c" (* "*") (pointer_declarator "**pppuStack_8c" (* "*") (pointer_declarator "*pppuStack_8c" (* "*") (identifier "pppuStack_8c")))) (; ";")) (declaration "undefined1 auStack_88 [4];" (type_identifier "undefined1") (array_declarator "auStack_88 [4]" (identifier "auStack_88") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "uint ***pppuStack_84;" (type_identifier "uint") (pointer_declarator "***pppuStack_84" (* "*") (pointer_declarator "**pppuStack_84" (* "*") (pointer_declarator "*pppuStack_84" (* "*") (identifier "pppuStack_84")))) (; ";")) (declaration "uint ***pppuStack_7c;" (type_identifier "uint") (pointer_declarator "***pppuStack_7c" (* "*") (pointer_declarator "**pppuStack_7c" (* "*") (pointer_declarator "*pppuStack_7c" (* "*") (identifier "pppuStack_7c")))) (; ";")) (declaration "uint ****ppppuStack_78;" (type_identifier "uint") (pointer_declarator "****ppppuStack_78" (* "*") (pointer_declarator "***ppppuStack_78" (* "*") (pointer_declarator "**ppppuStack_78" (* "*") (pointer_declarator "*ppppuStack_78" (* "*") (identifier "ppppuStack_78"))))) (; ";")) (declaration "uint *puStack_74;" (type_identifier "uint") (pointer_declarator "*puStack_74" (* "*") (identifier "puStack_74")) (; ";")) (declaration "uint ****ppppuStack_70;" (type_identifier "uint") (pointer_declarator "****ppppuStack_70" (* "*") (pointer_declarator "***ppppuStack_70" (* "*") (pointer_declarator "**ppppuStack_70" (* "*") (pointer_declarator "*ppppuStack_70" (* "*") (identifier "ppppuStack_70"))))) (; ";")) (declaration "undefined *puStack_6c;" (type_identifier "undefined") (pointer_declarator "*puStack_6c" (* "*") (identifier "puStack_6c")) (; ";")) (declaration "uint ****ppppuStack_68;" (type_identifier "uint") (pointer_declarator "****ppppuStack_68" (* "*") (pointer_declarator "***ppppuStack_68" (* "*") (pointer_declarator "**ppppuStack_68" (* "*") (pointer_declarator "*ppppuStack_68" (* "*") (identifier "ppppuStack_68"))))) (; ";")) (declaration "int iStack_64;" (primitive_type "int") (identifier "iStack_64") (; ";")) (declaration "undefined *local_40;" (type_identifier "undefined") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "uint ****local_28;" (type_identifier "uint") (pointer_declarator "****local_28" (* "*") (pointer_declarator "***local_28" (* "*") (pointer_declarator "**local_28" (* "*") (pointer_declarator "*local_28" (* "*") (identifier "local_28"))))) (; ";")) (declaration "uint ***local_24;" (type_identifier "uint") (pointer_declarator "***local_24" (* "*") (pointer_declarator "**local_24" (* "*") (pointer_declarator "*local_24" (* "*") (identifier "local_24")))) (; ";")) (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 "local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_24 = *(uint ****)PTR___stack_chk_guard_00190e24" (identifier "local_24") (= "=") (pointer_expression "*(uint ****)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(uint ****)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "pppppuVar10 = param_1;" (assignment_expression "pppppuVar10 = param_1" (identifier "pppppuVar10") (= "=") (identifier "param_1")) (; ";")) (expression_statement "iVar9 = param_2;" (assignment_expression "iVar9 = param_2" (identifier "iVar9") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pppppuVar12 = param_3;" (assignment_expression "pppppuVar12 = param_3" (identifier "pppppuVar12") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (*param_1 == (uint ****)0x0) {\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }" (if "if") (parenthesized_expression "(*param_1 == (uint ****)0x0)" (( "(") (binary_expression "*param_1 == (uint ****)0x0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    unaff_s2 = *(uint ******)(param_2 + 0x18);\n    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();\n    unaff_s0 = param_3;\n    unaff_s4 = param_1;\n    unaff_s5 = param_2;\n    if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }\n    *param_1 = (uint ****)0x7;\n  }" ({ "{") (expression_statement "unaff_s2 = *(uint ******)(param_2 + 0x18);" (assignment_expression "unaff_s2 = *(uint ******)(param_2 + 0x18)" (identifier "unaff_s2") (= "=") (pointer_expression "*(uint ******)(param_2 + 0x18)" (* "*") (cast_expression "(uint ******)(param_2 + 0x18)" (( "(") (type_descriptor "uint ******" (type_identifier "uint") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();" (assignment_expression "unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)()" (identifier "unaff_s1") (= "=") (cast_expression "(uint *)(*(code *)PTR_sqlite3_initialize_00190b88)()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sqlite3_initialize_00190b88)()" (parenthesized_expression "(*(code *)PTR_sqlite3_initialize_00190b88)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_initialize_00190b88" (* "*") (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_initialize_00190b88"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" (identifier "unaff_s0") (= "=") (identifier "param_3")) (; ";")) (expression_statement "unaff_s4 = param_1;" (assignment_expression "unaff_s4 = param_1" (identifier "unaff_s4") (= "=") (identifier "param_1")) (; ";")) (expression_statement "unaff_s5 = param_2;" (assignment_expression "unaff_s5 = param_2" (identifier "unaff_s5") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (unaff_s1 == (uint *)0x0) {\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }" (if "if") (parenthesized_expression "(unaff_s1 == (uint *)0x0)" (( "(") (binary_expression "unaff_s1 == (uint *)0x0" (identifier "unaff_s1") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);\n      iVar9 = (int)unaff_s2 * 10;\n      pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);\n      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();\n      if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }\n    }" ({ "{") (expression_statement "pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);" (assignment_expression "pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e)" (identifier "pppppuVar12") (= "=") (cast_expression "(uint *****)((uint)unaff_s2 >> 0x1e)" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((uint)unaff_s2 >> 0x1e)" (( "(") (binary_expression "(uint)unaff_s2 >> 0x1e" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (>> ">>") (number_literal "0x1e")) () ")")))) (; ";")) (expression_statement "iVar9 = (int)unaff_s2 * 10;" (assignment_expression "iVar9 = (int)unaff_s2 * 10" (identifier "iVar9") (= "=") (binary_expression "(int)unaff_s2 * 10" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (* "*") (number_literal "10"))) (; ";")) (expression_statement "pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2);" (assignment_expression "pppppuVar10 = (uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2)" (identifier "pppppuVar10") (= "=") (cast_expression "(uint *****)\n                    ((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2)" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2)" (( "(") (binary_expression "(uint)((int)unaff_s2 * 5) >> 0x1f |\n                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2" (binary_expression "(uint)((int)unaff_s2 * 5) >> 0x1f" (call_expression "(uint)((int)unaff_s2 * 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)unaff_s2 * 5)" (( "(") (binary_expression "(int)unaff_s2 * 5" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (* "*") (number_literal "5")) () ")"))) (>> ">>") (number_literal "0x1f")) (| "|") (binary_expression "((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *\n                    2" (parenthesized_expression "((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f))" (( "(") (binary_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)" (binary_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +\n                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2)" (call_expression "(uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4))" (( "(") (binary_expression "(uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)" (call_expression "(uint)((int)unaff_s2 * 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)unaff_s2 * 5)" (( "(") (binary_expression "(int)unaff_s2 * 5" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (* "*") (number_literal "5")) () ")"))) (< "<") (call_expression "(uint)((int)unaff_s2 * 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)unaff_s2 * 4)" (( "(") (binary_expression "(int)unaff_s2 * 4" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (* "*") (number_literal "4")) () ")")))) () ")"))) (+ "+") (parenthesized_expression "((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2)" (( "(") (binary_expression "(uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2" (cast_expression "(uint)pppppuVar12" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppuVar12")) (| "|") (binary_expression "((int)unaff_s2 >> 0x1f) << 2" (parenthesized_expression "((int)unaff_s2 >> 0x1f)" (( "(") (binary_expression "(int)unaff_s2 >> 0x1f" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "2"))) () ")"))) (+ "+") (parenthesized_expression "((int)unaff_s2 >> 0x1f)" (( "(") (binary_expression "(int)unaff_s2 >> 0x1f" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();" (assignment_expression "unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" (identifier "unaff_s2") (= "=") (cast_expression "(uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2b48)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x2b48" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x2b48")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (unaff_s2 != (uint *****)0x0) {\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }" (if "if") (parenthesized_expression "(unaff_s2 != (uint *****)0x0)" (( "(") (binary_expression "unaff_s2 != (uint *****)0x0" (identifier "unaff_s2") (!= "!=") (cast_expression "(uint *****)0x0" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar9 = *(int *)(param_2 + 0x18);\n        if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }\n        param_4 = (uint *)0x0;\n        pppppuVar12 = &local_28;\n        iVar9 = 0x14;\n        ppppuVar4 = (uint ****)FUN_001210f8(param_2);\n        if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }\n        goto LAB_00136304;\n      }" ({ "{") (expression_statement "iVar9 = *(int *)(param_2 + 0x18);" (assignment_expression "iVar9 = *(int *)(param_2 + 0x18)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(param_2 + 0x18)" (* "*") (cast_expression "(int *)(param_2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (0 < iVar9) {\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }" (if "if") (parenthesized_expression "(0 < iVar9)" (( "(") (binary_expression "0 < iVar9" (number_literal "0") (< "<") (identifier "iVar9")) () ")")) (compound_statement "{\n          unaff_s1 = (uint *)0x0;\n          pppppuVar10 = param_3;\n          do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);\n        }" ({ "{") (expression_statement "unaff_s1 = (uint *)0x0;" (assignment_expression "unaff_s1 = (uint *)0x0" (identifier "unaff_s1") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppuVar10 = param_3;" (assignment_expression "pppppuVar10 = param_3" (identifier "pppppuVar10") (= "=") (identifier "param_3")) (; ";")) (do_statement "do {\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          } while (param_3 + iVar9 != pppppuVar10);" (do "do") (compound_statement "{\n            ppppuVar4 = *pppppuVar10;\n            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);\n            do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);\n            pppppuVar10 = pppppuVar10 + 1;\n            *pbVar14 = bVar1 & 0x7f;\n            unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));\n          }" ({ "{") (expression_statement "ppppuVar4 = *pppppuVar10;" (assignment_expression "ppppuVar4 = *pppppuVar10" (identifier "ppppuVar4") (= "=") (pointer_expression "*pppppuVar10" (* "*") (identifier "pppppuVar10"))) (; ";")) (expression_statement "pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);" (assignment_expression "pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1)" (identifier "pbVar3") (= "=") (cast_expression "(byte *)((int)unaff_s2 + (int)unaff_s1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s2 + (int)unaff_s1)" (( "(") (binary_expression "(int)unaff_s2 + (int)unaff_s1" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (+ "+") (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1"))) () ")")))) (; ";")) (do_statement "do {\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            } while (ppppuVar15 != (uint ****)0x0);" (do "do") (compound_statement "{\n              pbVar14 = pbVar3;\n              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n              bVar1 = (byte)ppppuVar4;\n              *pbVar14 = bVar1 | 0x80;\n              ppppuVar4 = ppppuVar15;\n              pbVar3 = pbVar14 + 1;\n            }" ({ "{") (expression_statement "pbVar14 = pbVar3;" (assignment_expression "pbVar14 = pbVar3" (identifier "pbVar14") (= "=") (identifier "pbVar3")) (; ";")) (expression_statement "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);" (assignment_expression "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7)" (identifier "ppppuVar15") (= "=") (cast_expression "(uint ****)((uint)ppppuVar4 >> 7)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((uint)ppppuVar4 >> 7)" (( "(") (binary_expression "(uint)ppppuVar4 >> 7" (cast_expression "(uint)ppppuVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppuVar4")) (>> ">>") (number_literal "7")) () ")")))) (; ";")) (expression_statement "bVar1 = (byte)ppppuVar4;" (assignment_expression "bVar1 = (byte)ppppuVar4" (identifier "bVar1") (= "=") (cast_expression "(byte)ppppuVar4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "ppppuVar4"))) (; ";")) (expression_statement "*pbVar14 = bVar1 | 0x80;" (assignment_expression "*pbVar14 = bVar1 | 0x80" (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")) (= "=") (binary_expression "bVar1 | 0x80" (identifier "bVar1") (| "|") (number_literal "0x80"))) (; ";")) (expression_statement "ppppuVar4 = ppppuVar15;" (assignment_expression "ppppuVar4 = ppppuVar15" (identifier "ppppuVar4") (= "=") (identifier "ppppuVar15")) (; ";")) (expression_statement "pbVar3 = pbVar14 + 1;" (assignment_expression "pbVar3 = pbVar14 + 1" (identifier "pbVar3") (= "=") (binary_expression "pbVar14 + 1" (identifier "pbVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppuVar15 != (uint ****)0x0)" (( "(") (binary_expression "ppppuVar15 != (uint ****)0x0" (identifier "ppppuVar15") (!= "!=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "pppppuVar10 = pppppuVar10 + 1;" (assignment_expression "pppppuVar10 = pppppuVar10 + 1" (identifier "pppppuVar10") (= "=") (binary_expression "pppppuVar10 + 1" (identifier "pppppuVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar14 = bVar1 & 0x7f;" (assignment_expression "*pbVar14 = bVar1 & 0x7f" (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")) (= "=") (binary_expression "bVar1 & 0x7f" (identifier "bVar1") (& "&") (number_literal "0x7f"))) (; ";")) (expression_statement "unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));" (assignment_expression "unaff_s1 = (uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)))" (identifier "unaff_s1") (= "=") (cast_expression "(uint *)((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)))" (( "(") (binary_expression "(int)unaff_s1 +\n                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1))" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (parenthesized_expression "((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1))" (( "(") (binary_expression "(int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)" (cast_expression "(int)(pbVar14 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar14 + 1)" (( "(") (binary_expression "pbVar14 + 1" (identifier "pbVar14") (+ "+") (number_literal "1")) () ")"))) (- "-") (parenthesized_expression "((int)unaff_s2 + (int)unaff_s1)" (( "(") (binary_expression "(int)unaff_s2 + (int)unaff_s1" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (+ "+") (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1"))) () ")"))) () ")"))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_3 + iVar9 != pppppuVar10)" (( "(") (binary_expression "param_3 + iVar9 != pppppuVar10" (binary_expression "param_3 + iVar9" (identifier "param_3") (+ "+") (identifier "iVar9")) (!= "!=") (identifier "pppppuVar10")) () ")")) (; ";")) (} "}"))) (expression_statement "param_4 = (uint *)0x0;" (assignment_expression "param_4 = (uint *)0x0" (identifier "param_4") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppuVar12 = &local_28;" (assignment_expression "pppppuVar12 = &local_28" (identifier "pppppuVar12") (= "=") (pointer_expression "&local_28" (& "&") (identifier "local_28"))) (; ";")) (expression_statement "iVar9 = 0x14;" (assignment_expression "iVar9 = 0x14" (identifier "iVar9") (= "=") (number_literal "0x14")) (; ";")) (expression_statement "ppppuVar4 = (uint ****)FUN_001210f8(param_2);" (assignment_expression "ppppuVar4 = (uint ****)FUN_001210f8(param_2)" (identifier "ppppuVar4") (= "=") (cast_expression "(uint ****)FUN_001210f8(param_2)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "FUN_001210f8(param_2)" (identifier "FUN_001210f8") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))))) (; ";")) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }\n        else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }" (if "if") (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar4 == (uint ****)0x0" (identifier "ppppuVar4") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));\n          iVar9 = 2;\n          local_40 = PTR_sqlite3_free_0019096c;\n          pppppuVar12 = unaff_s2;\n          param_4 = unaff_s1;\n          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);\n          (*(code *)PTR_sqlite3_step_00190990)(local_28);\n          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();\n          *param_1 = ppppuVar4;\n          pppppuVar10 = (uint *****)local_28;\n        }" ({ "{") (expression_statement "(*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));" (call_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)\n                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114))" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_bind_int64_00190a90" (* "*") (cast_expression "(code *)PTR_sqlite3_bind_int64_00190a90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_bind_int64_00190a90"))) () ")")) (argument_list "(local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114))" (( "(") (identifier "local_28") (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x110)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x110)" (( "(") (binary_expression "param_2 + 0x110" (identifier "param_2") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x114)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x114)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x114)" (( "(") (binary_expression "param_2 + 0x114" (identifier "param_2") (+ "+") (number_literal "0x114")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar9 = 2;" (assignment_expression "iVar9 = 2" (identifier "iVar9") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_40 = PTR_sqlite3_free_0019096c;" (assignment_expression "local_40 = PTR_sqlite3_free_0019096c" (identifier "local_40") (= "=") (identifier "PTR_sqlite3_free_0019096c")) (; ";")) (expression_statement "pppppuVar12 = unaff_s2;" (assignment_expression "pppppuVar12 = unaff_s2" (identifier "pppppuVar12") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "param_4 = unaff_s1;" (assignment_expression "param_4 = unaff_s1" (identifier "param_4") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);" (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x2f8c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x2f8c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bdc + 0x2f8c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bdc + 0x2f8c)" (( "(") (binary_expression "PTR_LAB_00190bdc + 0x2f8c" (identifier "PTR_LAB_00190bdc") (+ "+") (number_literal "0x2f8c")) () ")")))) () ")")) (argument_list "(local_28)" (( "(") (identifier "local_28") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_step_00190990)(local_28);" (call_expression "(*(code *)PTR_sqlite3_step_00190990)(local_28)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_00190990)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_step_00190990" (* "*") (cast_expression "(code *)PTR_sqlite3_step_00190990" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_step_00190990"))) () ")")) (argument_list "(local_28)" (( "(") (identifier "local_28") () ")"))) (; ";")) (expression_statement "ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();" (assignment_expression "ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)()" (identifier "ppppuVar4") (= "=") (cast_expression "(uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)()" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)()" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_00190a5c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_reset_00190a5c" (* "*") (cast_expression "(code *)PTR_sqlite3_reset_00190a5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_reset_00190a5c"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*param_1 = ppppuVar4;" (assignment_expression "*param_1 = ppppuVar4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "ppppuVar4")) (; ";")) (expression_statement "pppppuVar10 = (uint *****)local_28;" (assignment_expression "pppppuVar10 = (uint *****)local_28" (identifier "pppppuVar10") (= "=") (cast_expression "(uint *****)local_28" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_28"))) (; ";")) (} "}")) (else_clause "else {\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }" (else "else") (compound_statement "{\n          pppppuVar10 = unaff_s2;\n          (*(code *)PTR_sqlite3_free_0019096c)();\n          *param_1 = ppppuVar4;\n        }" ({ "{") (expression_statement "pppppuVar10 = unaff_s2;" (assignment_expression "pppppuVar10 = unaff_s2" (identifier "pppppuVar10") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)();" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)()" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0019096c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0019096c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*param_1 = ppppuVar4;" (assignment_expression "*param_1 = ppppuVar4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "ppppuVar4")) (; ";")) (} "}")))) (goto_statement "goto LAB_00136304;" (goto "goto") (statement_identifier "LAB_00136304") (; ";")) (} "}"))) (} "}"))) (expression_statement "*param_1 = (uint ****)0x7;" (assignment_expression "*param_1 = (uint ****)0x7" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(uint ****)0x7" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x7"))) (; ";")) (} "}"))) (labeled_statement "LAB_00136304:\n  ppppuVar4 = *(uint *****)puVar2;" (statement_identifier "LAB_00136304") (: ":") (expression_statement "ppppuVar4 = *(uint *****)puVar2;" (assignment_expression "ppppuVar4 = *(uint *****)puVar2" (identifier "ppppuVar4") (= "=") (pointer_expression "*(uint *****)puVar2" (* "*") (cast_expression "(uint *****)puVar2" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "puVar2")))) (; ";"))) (if_statement "if ((uint ****)local_24 == ppppuVar4) {\n    return ppppuVar4;\n  }" (if "if") (parenthesized_expression "((uint ****)local_24 == ppppuVar4)" (( "(") (binary_expression "(uint ****)local_24 == ppppuVar4" (cast_expression "(uint ****)local_24" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_24")) (== "==") (identifier "ppppuVar4")) () ")")) (compound_statement "{\n    return ppppuVar4;\n  }" ({ "{") (return_statement "return ppppuVar4;" (return "return") (identifier "ppppuVar4") (; ";")) (} "}"))) (expression_statement "puVar25 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar25 = PTR___stack_chk_fail_00190df8" (identifier "puVar25") (= "=") (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 "puStack_6c = puVar2;" (assignment_expression "puStack_6c = puVar2" (identifier "puStack_6c") (= "=") (identifier "puVar2")) (; ";")) (expression_statement "piVar21 = *(int **)(puVar25 + 0x5a948);" (assignment_expression "piVar21 = *(int **)(puVar25 + 0x5a948)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(puVar25 + 0x5a948)" (* "*") (cast_expression "(int **)(puVar25 + 0x5a948)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a948)" (( "(") (binary_expression "puVar25 + 0x5a948" (identifier "puVar25") (+ "+") (number_literal "0x5a948")) () ")"))))) (; ";")) (expression_statement "pppuStack_7c = (uint ***)*piVar21;" (assignment_expression "pppuStack_7c = (uint ***)*piVar21" (identifier "pppuStack_7c") (= "=") (cast_expression "(uint ***)*piVar21" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")))) (; ";")) (expression_statement "pppppuVar6 = pppppuVar10;" (assignment_expression "pppppuVar6 = pppppuVar10" (identifier "pppppuVar6") (= "=") (identifier "pppppuVar10")) (; ";")) (expression_statement "pppppuVar13 = pppppuVar12;" (assignment_expression "pppppuVar13 = pppppuVar12" (identifier "pppppuVar13") (= "=") (identifier "pppppuVar12")) (; ";")) (expression_statement "puVar16 = param_4;" (assignment_expression "puVar16 = param_4" (identifier "puVar16") (= "=") (identifier "param_4")) (; ";")) (expression_statement "ppppuStack_78 = (uint ****)unaff_s0;" (assignment_expression "ppppuStack_78 = (uint ****)unaff_s0" (identifier "ppppuStack_78") (= "=") (cast_expression "(uint ****)unaff_s0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s0"))) (; ";")) (expression_statement "puStack_74 = unaff_s1;" (assignment_expression "puStack_74 = unaff_s1" (identifier "puStack_74") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "ppppuStack_70 = (uint ****)unaff_s2;" (assignment_expression "ppppuStack_70 = (uint ****)unaff_s2" (identifier "ppppuStack_70") (= "=") (cast_expression "(uint ****)unaff_s2" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s2"))) (; ";")) (expression_statement "ppppuStack_68 = (uint ****)unaff_s4;" (assignment_expression "ppppuStack_68 = (uint ****)unaff_s4" (identifier "ppppuStack_68") (= "=") (cast_expression "(uint ****)unaff_s4" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s4"))) (; ";")) (expression_statement "iStack_64 = unaff_s5;" (assignment_expression "iStack_64 = unaff_s5" (identifier "iStack_64") (= "=") (identifier "unaff_s5")) (; ";")) (if_statement "if (*pppppuVar10 == (uint ****)0x0) {\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }" (if "if") (parenthesized_expression "(*pppppuVar10 == (uint ****)0x0)" (( "(") (binary_expression "*pppppuVar10 == (uint ****)0x0" (pointer_expression "*pppppuVar10" (* "*") (identifier "pppppuVar10")) (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar23 = *(int *)(iVar9 + 0x18);\n    pppppuVar11 = pppppuVar10;\n    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();\n    if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }\n    pppppuVar6 = pppppuVar11;\n    *pppppuVar10 = (uint ****)0x7;\n  }" ({ "{") (expression_statement "iVar23 = *(int *)(iVar9 + 0x18);" (assignment_expression "iVar23 = *(int *)(iVar9 + 0x18)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(iVar9 + 0x18)" (* "*") (cast_expression "(int *)(iVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "pppppuVar11 = pppppuVar10;" (assignment_expression "pppppuVar11 = pppppuVar10" (identifier "pppppuVar11") (= "=") (identifier "pppppuVar10")) (; ";")) (expression_statement "iVar5 = (**(code **)(puVar25 + 0x5a6ac))();" (assignment_expression "iVar5 = (**(code **)(puVar25 + 0x5a6ac))()" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar25 + 0x5a6ac))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a6ac))" (( "(") (pointer_expression "**(code **)(puVar25 + 0x5a6ac)" (* "*") (pointer_expression "*(code **)(puVar25 + 0x5a6ac)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a6ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a6ac)" (( "(") (binary_expression "puVar25 + 0x5a6ac" (identifier "puVar25") (+ "+") (number_literal "0x5a6ac")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar24 = iVar23 + 2;\n      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);\n      pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);\n      pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);\n      if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }\n    }" ({ "{") (expression_statement "uVar24 = iVar23 + 2;" (assignment_expression "uVar24 = iVar23 + 2" (identifier "uVar24") (= "=") (binary_expression "iVar23 + 2" (identifier "iVar23") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pppppuVar13 = (uint *****)(uVar24 >> 0x1d);" (assignment_expression "pppppuVar13 = (uint *****)(uVar24 >> 0x1d)" (identifier "pppppuVar13") (= "=") (cast_expression "(uint *****)(uVar24 >> 0x1d)" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(uVar24 >> 0x1d)" (( "(") (binary_expression "uVar24 >> 0x1d" (identifier "uVar24") (>> ">>") (number_literal "0x1d")) () ")")))) (; ";")) (expression_statement "pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);" (assignment_expression "pppppuVar11 = (uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2)" (identifier "pppppuVar11") (= "=") (cast_expression "(uint *****)\n                    (uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2)" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2)" (( "(") (binary_expression "uVar24 * 7 >> 0x1f |\n                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2" (binary_expression "uVar24 * 7 >> 0x1f" (binary_expression "uVar24 * 7" (identifier "uVar24") (* "*") (number_literal "7")) (>> ">>") (number_literal "0x1f")) (| "|") (binary_expression "((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2" (parenthesized_expression "((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7))" (( "(") (binary_expression "(((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -\n                    (uint)(uVar24 * 8 < uVar24 * 7)" (parenthesized_expression "(((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f))" (( "(") (binary_expression "((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)" (parenthesized_expression "((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3)" (( "(") (binary_expression "(uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3" (cast_expression "(uint)pppppuVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppuVar13")) (| "|") (binary_expression "((int)uVar24 >> 0x1f) << 3" (parenthesized_expression "((int)uVar24 >> 0x1f)" (( "(") (binary_expression "(int)uVar24 >> 0x1f" (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24")) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "3"))) () ")")) (- "-") (parenthesized_expression "((int)uVar24 >> 0x1f)" (( "(") (binary_expression "(int)uVar24 >> 0x1f" (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (call_expression "(uint)(uVar24 * 8 < uVar24 * 7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar24 * 8 < uVar24 * 7)" (( "(") (binary_expression "uVar24 * 8 < uVar24 * 7" (binary_expression "uVar24 * 8" (identifier "uVar24") (* "*") (number_literal "8")) (< "<") (binary_expression "uVar24 * 7" (identifier "uVar24") (* "*") (number_literal "7"))) () ")")))) () ")")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);" (assignment_expression "pppppuVar6 = (uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe)" (identifier "pppppuVar6") (= "=") (cast_expression "(uint *****)\n                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe)" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe)" (parenthesized_expression "(*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48)" (* "*") (cast_expression "(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar25 + 0x5a6cc) + -0x2b48)" (( "(") (binary_expression "*(int *)(puVar25 + 0x5a6cc) + -0x2b48" (pointer_expression "*(int *)(puVar25 + 0x5a6cc)" (* "*") (cast_expression "(int *)(puVar25 + 0x5a6cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + 0x5a6cc)" (( "(") (binary_expression "puVar25 + 0x5a6cc" (identifier "puVar25") (+ "+") (number_literal "0x5a6cc")) () ")")))) (+ "+") (number_literal "-0x2b48")) () ")")))) () ")")) (argument_list "(pppppuVar11,uVar24 * 0xe)" (( "(") (identifier "pppppuVar11") (, ",") (binary_expression "uVar24 * 0xe" (identifier "uVar24") (* "*") (number_literal "0xe")) () ")"))))) (; ";")) (if_statement "if (pppppuVar6 != (uint *****)0x0) {\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }" (if "if") (parenthesized_expression "(pppppuVar6 != (uint *****)0x0)" (( "(") (binary_expression "pppppuVar6 != (uint *****)0x0" (identifier "pppppuVar6") (!= "!=") (cast_expression "(uint *****)0x0" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar5 = *(int *)(puVar25 + 0x5a788);\n        pppppuVar13 = (uint *****)&pppuStack_8c;\n        puVar16 = (uint *)0x0;\n        pppppuVar11 = pppppuVar13;\n        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);\n        if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }\n        pppppuVar13 = pppppuVar11;\n        (**(code **)(puVar25 + 0x5a490))();\n        *pppppuVar10 = ppppuVar4;\n        goto LAB_00136530;\n      }" ({ "{") (expression_statement "iVar5 = *(int *)(puVar25 + 0x5a788);" (assignment_expression "iVar5 = *(int *)(puVar25 + 0x5a788)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + 0x5a788)" (* "*") (cast_expression "(int *)(puVar25 + 0x5a788)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + 0x5a788)" (( "(") (binary_expression "puVar25 + 0x5a788" (identifier "puVar25") (+ "+") (number_literal "0x5a788")) () ")"))))) (; ";")) (expression_statement "pppppuVar13 = (uint *****)&pppuStack_8c;" (assignment_expression "pppppuVar13 = (uint *****)&pppuStack_8c" (identifier "pppppuVar13") (= "=") (cast_expression "(uint *****)&pppuStack_8c" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&pppuStack_8c" (& "&") (identifier "pppuStack_8c")))) (; ";")) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" (identifier "puVar16") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppuVar11 = pppppuVar13;" (assignment_expression "pppppuVar11 = pppppuVar13" (identifier "pppppuVar11") (= "=") (identifier "pppppuVar13")) (; ";")) (expression_statement "ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);" (assignment_expression "ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16)" (identifier "ppppuVar4") (= "=") (cast_expression "(uint ****)FUN_001210f8(iVar9,0x16)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "FUN_001210f8(iVar9,0x16)" (identifier "FUN_001210f8") (argument_list "(iVar9,0x16)" (( "(") (identifier "iVar9") (, ",") (number_literal "0x16") () ")"))))) (; ";")) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }" (if "if") (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar4 == (uint ****)0x0" (identifier "ppppuVar4") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pcVar28 = *(code **)(puVar25 + 0x5a5b4);\n          puVar16 = (uint *)0x0;\n          pcVar26 = *(code **)(puVar25 + 0x5a4b4);\n          pppppuVar11 = (uint *****)0x0;\n          pppppuVar22 = (uint *****)(uVar24 * 4);\n          (*pcVar28)(pppuStack_8c,1);\n          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);\n          if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }\n          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n          if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }\n        }" ({ "{") (expression_statement "pcVar28 = *(code **)(puVar25 + 0x5a5b4);" (assignment_expression "pcVar28 = *(code **)(puVar25 + 0x5a5b4)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puVar25 + 0x5a5b4)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a5b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a5b4)" (( "(") (binary_expression "puVar25 + 0x5a5b4" (identifier "puVar25") (+ "+") (number_literal "0x5a5b4")) () ")"))))) (; ";")) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" (identifier "puVar16") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar26 = *(code **)(puVar25 + 0x5a4b4);" (assignment_expression "pcVar26 = *(code **)(puVar25 + 0x5a4b4)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(puVar25 + 0x5a4b4)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a4b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a4b4)" (( "(") (binary_expression "puVar25 + 0x5a4b4" (identifier "puVar25") (+ "+") (number_literal "0x5a4b4")) () ")"))))) (; ";")) (expression_statement "pppppuVar11 = (uint *****)0x0;" (assignment_expression "pppppuVar11 = (uint *****)0x0" (identifier "pppppuVar11") (= "=") (cast_expression "(uint *****)0x0" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppuVar22 = (uint *****)(uVar24 * 4);" (assignment_expression "pppppuVar22 = (uint *****)(uVar24 * 4)" (identifier "pppppuVar22") (= "=") (cast_expression "(uint *****)(uVar24 * 4)" (( "(") (type_descriptor "uint *****" (type_identifier "uint") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(uVar24 * 4)" (( "(") (binary_expression "uVar24 * 4" (identifier "uVar24") (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "(*pcVar28)(pppuStack_8c,1);" (call_expression "(*pcVar28)(pppuStack_8c,1)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(pppuStack_8c,1)" (( "(") (identifier "pppuStack_8c") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);" (assignment_expression "iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c)" (identifier "iVar23") (= "=") (call_expression "(**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a4b4))" (( "(") (pointer_expression "**(code **)(puVar25 + 0x5a4b4)" (* "*") (pointer_expression "*(code **)(puVar25 + 0x5a4b4)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a4b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a4b4)" (( "(") (binary_expression "puVar25 + 0x5a4b4" (identifier "puVar25") (+ "+") (number_literal "0x5a4b4")) () ")"))))) () ")")) (argument_list "(pppuStack_8c)" (( "(") (identifier "pppuStack_8c") () ")")))) (; ";")) (if_statement "if (iVar23 == 100) {\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }\n          else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }" (if "if") (parenthesized_expression "(iVar23 == 100)" (( "(") (binary_expression "iVar23 == 100" (identifier "iVar23") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);\n            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);\n            pppppuVar22 = pppppuVar11;\n            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }\n          }" ({ "{") (expression_statement "iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);" (assignment_expression "iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0)" (identifier "iVar23") (= "=") (call_expression "(**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a4c4))" (( "(") (pointer_expression "**(code **)(puVar25 + 0x5a4c4)" (* "*") (pointer_expression "*(code **)(puVar25 + 0x5a4c4)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a4c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a4c4)" (( "(") (binary_expression "puVar25 + 0x5a4c4" (identifier "puVar25") (+ "+") (number_literal "0x5a4c4")) () ")"))))) () ")")) (argument_list "(pppuStack_8c,0)" (( "(") (identifier "pppuStack_8c") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);" (assignment_expression "iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a4c0))" (( "(") (pointer_expression "**(code **)(puVar25 + 0x5a4c0)" (* "*") (pointer_expression "*(code **)(puVar25 + 0x5a4c0)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a4c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a4c0)" (( "(") (binary_expression "puVar25 + 0x5a4c0" (identifier "puVar25") (+ "+") (number_literal "0x5a4c0")) () ")"))))) () ")")) (argument_list "(pppuStack_8c,0)" (( "(") (identifier "pppuStack_8c") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pppppuVar22 = pppppuVar11;" (assignment_expression "pppppuVar22 = pppppuVar11" (identifier "pppppuVar22") (= "=") (identifier "pppppuVar11")) (; ";")) (if_statement "if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }\n            else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }" (if "if") (parenthesized_expression "((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0'))" (( "(") (binary_expression "(iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(char *)(iVar23 + iVar7 + -1) < '\0')" (( "(") (binary_expression "*(char *)(iVar23 + iVar7 + -1) < '\0'" (pointer_expression "*(char *)(iVar23 + iVar7 + -1)" (* "*") (cast_expression "(char *)(iVar23 + iVar7 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar7 + -1)" (( "(") (binary_expression "iVar23 + iVar7 + -1" (binary_expression "iVar23 + iVar7" (identifier "iVar23") (+ "+") (identifier "iVar7")) (+ "+") (number_literal "-1")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n              uVar19 = 0;\n              if (0 < (int)uVar24) goto LAB_0013690c;\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n            }" ({ "{") (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < (int)uVar24) goto LAB_0013690c;" (if "if") (parenthesized_expression "(0 < (int)uVar24)" (( "(") (binary_expression "0 < (int)uVar24" (number_literal "0") (< "<") (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24"))) () ")")) (goto_statement "goto LAB_0013690c;" (goto "goto") (statement_identifier "LAB_0013690c") (; ";"))) (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar25 + 0x5a580)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a580)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a580)" (( "(") (binary_expression "puVar25 + 0x5a580" (identifier "puVar25") (+ "+") (number_literal "0x5a580")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }" (else "else") (compound_statement "{\n              pcVar27 = *(code **)(puVar25 + 0x5a580);\n              if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }\n            }" ({ "{") (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar25 + 0x5a580)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a580)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a580)" (( "(") (binary_expression "puVar25 + 0x5a580" (identifier "puVar25") (+ "+") (number_literal "0x5a580")) () ")"))))) (; ";")) (if_statement "if (0 < (int)uVar24) {\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }" (if "if") (parenthesized_expression "(0 < (int)uVar24)" (( "(") (binary_expression "0 < (int)uVar24" (number_literal "0") (< "<") (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24"))) () ")")) (compound_statement "{\n                uVar19 = 0;\n                if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }\nLAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;\n                do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);\n                pcVar27 = *(code **)(puVar25 + 0x5a580);\n                pppppuVar11 = pppppuVar22;\n              }" ({ "{") (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar7) {\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }" (if "if") (parenthesized_expression "(0 < iVar7)" (( "(") (binary_expression "0 < iVar7" (number_literal "0") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n                  puVar18 = auStack_88;\n                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);\n                  iVar29 = 0;\n                  pppppuVar11 = pppppuVar6;\n                  do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);\n                }" ({ "{") (expression_statement "puVar18 = auStack_88;" (assignment_expression "puVar18 = auStack_88" (identifier "puVar18") (= "=") (identifier "auStack_88")) (; ";")) (expression_statement "pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar25 + 0x5a664) + 0x3ec8)" (( "(") (binary_expression "*(int *)(puVar25 + 0x5a664) + 0x3ec8" (pointer_expression "*(int *)(puVar25 + 0x5a664)" (* "*") (cast_expression "(int *)(puVar25 + 0x5a664)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + 0x5a664)" (( "(") (binary_expression "puVar25 + 0x5a664" (identifier "puVar25") (+ "+") (number_literal "0x5a664")) () ")")))) (+ "+") (number_literal "0x3ec8")) () ")")))) (; ";")) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" (identifier "iVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppuVar11 = pppppuVar6;" (assignment_expression "pppppuVar11 = pppppuVar6" (identifier "pppppuVar11") (= "=") (identifier "pppppuVar6")) (; ";")) (do_statement "do {\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  } while (iVar29 < iVar7);" (do "do") (compound_statement "{\n                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);\n                    iVar29 = iVar29 + iVar8;\n                    uVar19 = uVar19 + 1;\n                    *pppppuVar11 = (uint ****)pppuStack_84;\n                    if (uVar24 == uVar19) goto LAB_0013666c;\n                    pppppuVar11 = pppppuVar11 + 1;\n                  }" ({ "{") (expression_statement "iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);" (assignment_expression "iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18)" (identifier "iVar8") (= "=") (call_expression "(*pcVar27)(iVar23 + iVar29,puVar18)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar23 + iVar29,puVar18)" (( "(") (binary_expression "iVar23 + iVar29" (identifier "iVar23") (+ "+") (identifier "iVar29")) (, ",") (identifier "puVar18") () ")")))) (; ";")) (expression_statement "iVar29 = iVar29 + iVar8;" (assignment_expression "iVar29 = iVar29 + iVar8" (identifier "iVar29") (= "=") (binary_expression "iVar29 + iVar8" (identifier "iVar29") (+ "+") (identifier "iVar8"))) (; ";")) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" (identifier "uVar19") (= "=") (binary_expression "uVar19 + 1" (identifier "uVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pppppuVar11 = (uint ****)pppuStack_84;" (assignment_expression "*pppppuVar11 = (uint ****)pppuStack_84" (pointer_expression "*pppppuVar11" (* "*") (identifier "pppppuVar11")) (= "=") (cast_expression "(uint ****)pppuStack_84" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_84"))) (; ";")) (if_statement "if (uVar24 == uVar19) goto LAB_0013666c;" (if "if") (parenthesized_expression "(uVar24 == uVar19)" (( "(") (binary_expression "uVar24 == uVar19" (identifier "uVar24") (== "==") (identifier "uVar19")) () ")")) (goto_statement "goto LAB_0013666c;" (goto "goto") (statement_identifier "LAB_0013666c") (; ";"))) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" (identifier "pppppuVar11") (= "=") (binary_expression "pppppuVar11 + 1" (identifier "pppppuVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar29 < iVar7)" (( "(") (binary_expression "iVar29 < iVar7" (identifier "iVar29") (< "<") (identifier "iVar7")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0013690c:\n                pppppuVar11 = pppppuVar6 + uVar19;" (statement_identifier "LAB_0013690c") (: ":") (expression_statement "pppppuVar11 = pppppuVar6 + uVar19;" (assignment_expression "pppppuVar11 = pppppuVar6 + uVar19" (identifier "pppppuVar11") (= "=") (binary_expression "pppppuVar6 + uVar19" (identifier "pppppuVar6") (+ "+") (identifier "uVar19"))) (; ";"))) (do_statement "do {\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                } while ((int)uVar19 < (int)uVar24);" (do "do") (compound_statement "{\n                  uVar19 = uVar19 + 1;\n                  *pppppuVar11 = (uint ****)0x0;\n                  pppppuVar11 = pppppuVar11 + 1;\n                }" ({ "{") (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" (identifier "uVar19") (= "=") (binary_expression "uVar19 + 1" (identifier "uVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pppppuVar11 = (uint ****)0x0;" (assignment_expression "*pppppuVar11 = (uint ****)0x0" (pointer_expression "*pppppuVar11" (* "*") (identifier "pppppuVar11")) (= "=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" (identifier "pppppuVar11") (= "=") (binary_expression "pppppuVar11 + 1" (identifier "pppppuVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar19 < (int)uVar24)" (( "(") (binary_expression "(int)uVar19 < (int)uVar24" (cast_expression "(int)uVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar19")) (< "<") (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24"))) () ")")) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar25 + 0x5a580)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a580)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a580)" (( "(") (binary_expression "puVar25 + 0x5a580" (identifier "puVar25") (+ "+") (number_literal "0x5a580")) () ")"))))) (; ";")) (expression_statement "pppppuVar11 = pppppuVar22;" (assignment_expression "pppppuVar11 = pppppuVar22" (identifier "pppppuVar11") (= "=") (identifier "pppppuVar22")) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }" (else "else") (compound_statement "{\n            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);\nLAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);\n            pppppuVar11 = pppppuVar22;\n          }" ({ "{") (expression_statement "(**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);" (call_expression "(**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0)" (parenthesized_expression "(**(code **)(puVar25 + 0x5a87c))" (( "(") (pointer_expression "**(code **)(puVar25 + 0x5a87c)" (* "*") (pointer_expression "*(code **)(puVar25 + 0x5a87c)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a87c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a87c)" (( "(") (binary_expression "puVar25 + 0x5a87c" (identifier "puVar25") (+ "+") (number_literal "0x5a87c")) () ")"))))) () ")")) (argument_list "(pppppuVar6,0)" (( "(") (identifier "pppppuVar6") (, ",") (number_literal "0") () ")"))) (; ";")) (labeled_statement "LAB_0013666c:\n            pcVar27 = *(code **)(puVar25 + 0x5a580);" (statement_identifier "LAB_0013666c") (: ":") (expression_statement "pcVar27 = *(code **)(puVar25 + 0x5a580);" (assignment_expression "pcVar27 = *(code **)(puVar25 + 0x5a580)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar25 + 0x5a580)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a580)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a580)" (( "(") (binary_expression "puVar25 + 0x5a580" (identifier "puVar25") (+ "+") (number_literal "0x5a580")) () ")"))))) (; ";"))) (expression_statement "pppppuVar11 = pppppuVar22;" (assignment_expression "pppppuVar11 = pppppuVar22" (identifier "pppppuVar11") (= "=") (identifier "pppppuVar22")) (; ";")) (} "}")))) (expression_statement "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);" (assignment_expression "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c)" (identifier "ppppuVar4") (= "=") (cast_expression "(uint ****)(*pcVar27)(pppuStack_8c)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*pcVar27)(pppuStack_8c)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(pppuStack_8c)" (( "(") (identifier "pppuStack_8c") () ")"))))) (; ";")) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }" (if "if") (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar4 == (uint ****)0x0" (identifier "ppppuVar4") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }\n            *pppppuVar6 = ppppuVar4;\n            pppppuVar11 = pppppuVar6 + 1;\n            if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }\nLAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;\n            puVar16 = (uint *)0x0;\n            pppppuVar12 = pppppuVar6;\n            puVar17 = (uint *)0x0;\n            if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }\n            puVar16 = (uint *)0x0;\n            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);\n            if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }\n            goto LAB_00136530;\n          }" ({ "{") (if_statement "if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {\n              ppppuVar4 = (uint ****)0x0;\n            }\n            else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }" (if "if") (parenthesized_expression "(((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40))" (( "(") (binary_expression "((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)" (parenthesized_expression "((int)local_40 < 0)" (( "(") (binary_expression "(int)local_40 < 0" (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) (< "<") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*pppppuVar6 < (uint ****)-(int)local_40)" (( "(") (binary_expression "*pppppuVar6 < (uint ****)-(int)local_40" (pointer_expression "*pppppuVar6" (* "*") (identifier "pppppuVar6")) (< "<") (cast_expression "(uint ****)-(int)local_40" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (unary_expression "-(int)local_40" (- "-") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))))) () ")"))) () ")")) (compound_statement "{\n              ppppuVar4 = (uint ****)0x0;\n            }" ({ "{") (expression_statement "ppppuVar4 = (uint ****)0x0;" (assignment_expression "ppppuVar4 = (uint ****)0x0" (identifier "ppppuVar4") (= "=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }" (else "else") (compound_statement "{\n              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);\n            }" ({ "{") (expression_statement "ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);" (assignment_expression "ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6)" (identifier "ppppuVar4") (= "=") (cast_expression "(uint ****)(local_40 + (int)*pppppuVar6)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(local_40 + (int)*pppppuVar6)" (( "(") (binary_expression "local_40 + (int)*pppppuVar6" (identifier "local_40") (+ "+") (cast_expression "(int)*pppppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppuVar6" (* "*") (identifier "pppppuVar6")))) () ")")))) (; ";")) (} "}")))) (expression_statement "*pppppuVar6 = ppppuVar4;" (assignment_expression "*pppppuVar6 = ppppuVar4" (pointer_expression "*pppppuVar6" (* "*") (identifier "pppppuVar6")) (= "=") (identifier "ppppuVar4")) (; ";")) (expression_statement "pppppuVar11 = pppppuVar6 + 1;" (assignment_expression "pppppuVar11 = pppppuVar6 + 1" (identifier "pppppuVar11") (= "=") (binary_expression "pppppuVar6 + 1" (identifier "pppppuVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (-1 < *(int *)(iVar9 + 0x18)) {\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar9 + 0x18))" (( "(") (binary_expression "-1 < *(int *)(iVar9 + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar9 + 0x18)" (* "*") (cast_expression "(int *)(iVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n              iVar23 = 0;\n              do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));\n            }" ({ "{") (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              } while (iVar23 <= *(int *)(iVar9 + 0x18));" (do "do") (compound_statement "{\n                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }\n                iVar23 = iVar23 + 1;\n                *pppppuVar11 = (uint ****)0x0;\n                pppppuVar12 = pppppuVar12 + 1;\n                pppppuVar11 = pppppuVar11 + 1;\n                param_4 = param_4 + 1;\n              }" ({ "{") (while_statement "while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }" (while "while") (parenthesized_expression "(*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11))" (( "(") (binary_expression "*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (<= "<=") (call_expression "(uint)((int)*pppppuVar12 + (int)*pppppuVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)*pppppuVar12 + (int)*pppppuVar11)" (( "(") (binary_expression "(int)*pppppuVar12 + (int)*pppppuVar11" (cast_expression "(int)*pppppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppuVar12" (* "*") (identifier "pppppuVar12"))) (+ "+") (cast_expression "(int)*pppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppuVar11" (* "*") (identifier "pppppuVar11")))) () ")")))) () ")")) (compound_statement "{\n                  iVar23 = iVar23 + 1;\n                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);\n                  pppppuVar12 = pppppuVar12 + 1;\n                  pppppuVar11 = pppppuVar11 + 1;\n                  param_4 = param_4 + 1;\n                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;\n                }" ({ "{") (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);" (assignment_expression "*pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4)" (pointer_expression "*pppppuVar11" (* "*") (identifier "pppppuVar11")) (= "=") (cast_expression "(uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4)" (( "(") (binary_expression "((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4" (parenthesized_expression "((int)*pppppuVar12 + (int)*pppppuVar11)" (( "(") (binary_expression "(int)*pppppuVar12 + (int)*pppppuVar11" (cast_expression "(int)*pppppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppuVar12" (* "*") (identifier "pppppuVar12"))) (+ "+") (cast_expression "(int)*pppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppuVar11" (* "*") (identifier "pppppuVar11")))) () ")")) (- "-") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) () ")")))) (; ";")) (expression_statement "pppppuVar12 = pppppuVar12 + 1;" (assignment_expression "pppppuVar12 = pppppuVar12 + 1" (identifier "pppppuVar12") (= "=") (binary_expression "pppppuVar12 + 1" (identifier "pppppuVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" (identifier "pppppuVar11") (= "=") (binary_expression "pppppuVar11 + 1" (identifier "pppppuVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" (identifier "param_4") (= "=") (binary_expression "param_4 + 1" (identifier "param_4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0x18) < iVar23)" (( "(") (binary_expression "*(int *)(iVar9 + 0x18) < iVar23" (pointer_expression "*(int *)(iVar9 + 0x18)" (* "*") (cast_expression "(int *)(iVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (identifier "iVar23")) () ")")) (goto_statement "goto LAB_00136714;" (goto "goto") (statement_identifier "LAB_00136714") (; ";"))) (} "}"))) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pppppuVar11 = (uint ****)0x0;" (assignment_expression "*pppppuVar11 = (uint ****)0x0" (pointer_expression "*pppppuVar11" (* "*") (identifier "pppppuVar11")) (= "=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppuVar12 = pppppuVar12 + 1;" (assignment_expression "pppppuVar12 = pppppuVar12 + 1" (identifier "pppppuVar12") (= "=") (binary_expression "pppppuVar12 + 1" (identifier "pppppuVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppuVar11 = pppppuVar11 + 1;" (assignment_expression "pppppuVar11 = pppppuVar11 + 1" (identifier "pppppuVar11") (= "=") (binary_expression "pppppuVar11 + 1" (identifier "pppppuVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" (identifier "param_4") (= "=") (binary_expression "param_4 + 1" (identifier "param_4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar23 <= *(int *)(iVar9 + 0x18))" (( "(") (binary_expression "iVar23 <= *(int *)(iVar9 + 0x18)" (identifier "iVar23") (<= "<=") (pointer_expression "*(int *)(iVar9 + 0x18)" (* "*") (cast_expression "(int *)(iVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00136714:\n            pppppuVar11 = pppppuVar6 + uVar24;" (statement_identifier "LAB_00136714") (: ":") (expression_statement "pppppuVar11 = pppppuVar6 + uVar24;" (assignment_expression "pppppuVar11 = pppppuVar6 + uVar24" (identifier "pppppuVar11") (= "=") (binary_expression "pppppuVar6 + uVar24" (identifier "pppppuVar6") (+ "+") (identifier "uVar24"))) (; ";"))) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" (identifier "puVar16") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppuVar12 = pppppuVar6;" (assignment_expression "pppppuVar12 = pppppuVar6" (identifier "pppppuVar12") (= "=") (identifier "pppppuVar6")) (; ";")) (expression_statement "puVar17 = (uint *)0x0;" (assignment_expression "puVar17 = (uint *)0x0" (identifier "puVar17") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < (int)uVar24) {\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }" (if "if") (parenthesized_expression "(0 < (int)uVar24)" (( "(") (binary_expression "0 < (int)uVar24" (number_literal "0") (< "<") (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24"))) () ")")) (compound_statement "{\n              do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);\n            }" ({ "{") (do_statement "do {\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              } while (pppppuVar11 != pppppuVar12);" (do "do") (compound_statement "{\n                ppppuVar4 = *pppppuVar12;\n                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);\n                do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);\n                pppppuVar12 = pppppuVar12 + 1;\n                *pbVar14 = bVar1 & 0x7f;\n                puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));\n                puVar17 = puVar16;\n              }" ({ "{") (expression_statement "ppppuVar4 = *pppppuVar12;" (assignment_expression "ppppuVar4 = *pppppuVar12" (identifier "ppppuVar4") (= "=") (pointer_expression "*pppppuVar12" (* "*") (identifier "pppppuVar12"))) (; ";")) (expression_statement "pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);" (assignment_expression "pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16)" (identifier "pbVar3") (= "=") (cast_expression "(byte *)((int)pppppuVar11 + (int)puVar16)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar11 + (int)puVar16)" (( "(") (binary_expression "(int)pppppuVar11 + (int)puVar16" (cast_expression "(int)pppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar11")) (+ "+") (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16"))) () ")")))) (; ";")) (do_statement "do {\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                } while (ppppuVar15 != (uint ****)0x0);" (do "do") (compound_statement "{\n                  pbVar14 = pbVar3;\n                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);\n                  bVar1 = (byte)ppppuVar4;\n                  *pbVar14 = bVar1 | 0x80;\n                  ppppuVar4 = ppppuVar15;\n                  pbVar3 = pbVar14 + 1;\n                }" ({ "{") (expression_statement "pbVar14 = pbVar3;" (assignment_expression "pbVar14 = pbVar3" (identifier "pbVar14") (= "=") (identifier "pbVar3")) (; ";")) (expression_statement "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);" (assignment_expression "ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7)" (identifier "ppppuVar15") (= "=") (cast_expression "(uint ****)((uint)ppppuVar4 >> 7)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((uint)ppppuVar4 >> 7)" (( "(") (binary_expression "(uint)ppppuVar4 >> 7" (cast_expression "(uint)ppppuVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppuVar4")) (>> ">>") (number_literal "7")) () ")")))) (; ";")) (expression_statement "bVar1 = (byte)ppppuVar4;" (assignment_expression "bVar1 = (byte)ppppuVar4" (identifier "bVar1") (= "=") (cast_expression "(byte)ppppuVar4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "ppppuVar4"))) (; ";")) (expression_statement "*pbVar14 = bVar1 | 0x80;" (assignment_expression "*pbVar14 = bVar1 | 0x80" (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")) (= "=") (binary_expression "bVar1 | 0x80" (identifier "bVar1") (| "|") (number_literal "0x80"))) (; ";")) (expression_statement "ppppuVar4 = ppppuVar15;" (assignment_expression "ppppuVar4 = ppppuVar15" (identifier "ppppuVar4") (= "=") (identifier "ppppuVar15")) (; ";")) (expression_statement "pbVar3 = pbVar14 + 1;" (assignment_expression "pbVar3 = pbVar14 + 1" (identifier "pbVar3") (= "=") (binary_expression "pbVar14 + 1" (identifier "pbVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppuVar15 != (uint ****)0x0)" (( "(") (binary_expression "ppppuVar15 != (uint ****)0x0" (identifier "ppppuVar15") (!= "!=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "pppppuVar12 = pppppuVar12 + 1;" (assignment_expression "pppppuVar12 = pppppuVar12 + 1" (identifier "pppppuVar12") (= "=") (binary_expression "pppppuVar12 + 1" (identifier "pppppuVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar14 = bVar1 & 0x7f;" (assignment_expression "*pbVar14 = bVar1 & 0x7f" (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")) (= "=") (binary_expression "bVar1 & 0x7f" (identifier "bVar1") (& "&") (number_literal "0x7f"))) (; ";")) (expression_statement "puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));" (assignment_expression "puVar16 = (uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)))" (identifier "puVar16") (= "=") (cast_expression "(uint *)((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)))" (( "(") (binary_expression "(int)puVar16 +\n                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16))" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (parenthesized_expression "((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16))" (( "(") (binary_expression "(int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)" (cast_expression "(int)(pbVar14 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar14 + 1)" (( "(") (binary_expression "pbVar14 + 1" (identifier "pbVar14") (+ "+") (number_literal "1")) () ")"))) (- "-") (parenthesized_expression "((int)pppppuVar11 + (int)puVar16)" (( "(") (binary_expression "(int)pppppuVar11 + (int)puVar16" (cast_expression "(int)pppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar11")) (+ "+") (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16"))) () ")"))) () ")"))) () ")")))) (; ";")) (expression_statement "puVar17 = puVar16;" (assignment_expression "puVar17 = puVar16" (identifier "puVar17") (= "=") (identifier "puVar16")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppuVar11 != pppppuVar12)" (( "(") (binary_expression "pppppuVar11 != pppppuVar12" (identifier "pppppuVar11") (!= "!=") (identifier "pppppuVar12")) () ")")) (; ";")) (} "}"))) (expression_statement "puVar16 = (uint *)0x0;" (assignment_expression "puVar16 = (uint *)0x0" (identifier "puVar16") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);" (assignment_expression "ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17)" (identifier "ppppuVar4") (= "=") (cast_expression "(uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*(code *)(iVar5 + 0x10f8))(iVar9,0x17)" (parenthesized_expression "(*(code *)(iVar5 + 0x10f8))" (( "(") (pointer_expression "*(code *)(iVar5 + 0x10f8)" (* "*") (cast_expression "(code *)(iVar5 + 0x10f8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10f8)" (( "(") (binary_expression "iVar5 + 0x10f8" (identifier "iVar5") (+ "+") (number_literal "0x10f8")) () ")")))) () ")")) (argument_list "(iVar9,0x17)" (( "(") (identifier "iVar9") (, ",") (number_literal "0x17") () ")"))))) (; ";")) (if_statement "if (ppppuVar4 == (uint ****)0x0) {\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }\n            else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }" (if "if") (parenthesized_expression "(ppppuVar4 == (uint ****)0x0)" (( "(") (binary_expression "ppppuVar4 == (uint ****)0x0" (identifier "ppppuVar4") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              (*pcVar28)(pppuStack_8c,1,0,0);\n              uStack_b5 = 0;\n              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);\n              (*pcVar26)(pppuStack_8c);\n              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);\n              pcVar28 = *(code **)(puVar25 + 0x5a5ac);\n              *pppppuVar10 = ppppuVar4;\n              (*pcVar28)(pppuStack_8c,2);\n              (**(code **)(puVar25 + 0x5a490))();\n              pppppuVar13 = pppppuVar11;\n              puVar16 = puVar17;\n            }" ({ "{") (expression_statement "(*pcVar28)(pppuStack_8c,1,0,0);" (call_expression "(*pcVar28)(pppuStack_8c,1,0,0)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(pppuStack_8c,1,0,0)" (( "(") (identifier "pppuStack_8c") (, ",") (number_literal "1") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uStack_b5 = 0;" (assignment_expression "uStack_b5 = 0" (identifier "uStack_b5") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);" (call_expression "(*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2)" (parenthesized_expression "(*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c)" (* "*") (cast_expression "(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar25 + 0x5a700) + 0x2f8c)" (( "(") (binary_expression "*(int *)(puVar25 + 0x5a700) + 0x2f8c" (pointer_expression "*(int *)(puVar25 + 0x5a700)" (* "*") (cast_expression "(int *)(puVar25 + 0x5a700)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + 0x5a700)" (( "(") (binary_expression "puVar25 + 0x5a700" (identifier "puVar25") (+ "+") (number_literal "0x5a700")) () ")")))) (+ "+") (number_literal "0x2f8c")) () ")")))) () ")")) (argument_list "(pppuStack_8c,2)" (( "(") (identifier "pppuStack_8c") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "(*pcVar26)(pppuStack_8c);" (call_expression "(*pcVar26)(pppuStack_8c)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(pppuStack_8c)" (( "(") (identifier "pppuStack_8c") () ")"))) (; ";")) (expression_statement "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);" (assignment_expression "ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c)" (identifier "ppppuVar4") (= "=") (cast_expression "(uint ****)(*pcVar27)(pppuStack_8c)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*pcVar27)(pppuStack_8c)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(pppuStack_8c)" (( "(") (identifier "pppuStack_8c") () ")"))))) (; ";")) (expression_statement "pcVar28 = *(code **)(puVar25 + 0x5a5ac);" (assignment_expression "pcVar28 = *(code **)(puVar25 + 0x5a5ac)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puVar25 + 0x5a5ac)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a5ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a5ac)" (( "(") (binary_expression "puVar25 + 0x5a5ac" (identifier "puVar25") (+ "+") (number_literal "0x5a5ac")) () ")"))))) (; ";")) (expression_statement "*pppppuVar10 = ppppuVar4;" (assignment_expression "*pppppuVar10 = ppppuVar4" (pointer_expression "*pppppuVar10" (* "*") (identifier "pppppuVar10")) (= "=") (identifier "ppppuVar4")) (; ";")) (expression_statement "(*pcVar28)(pppuStack_8c,2);" (call_expression "(*pcVar28)(pppuStack_8c,2)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(pppuStack_8c,2)" (( "(") (identifier "pppuStack_8c") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar25 + 0x5a490))();" (call_expression "(**(code **)(puVar25 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a490))" (( "(") (pointer_expression "**(code **)(puVar25 + 0x5a490)" (* "*") (pointer_expression "*(code **)(puVar25 + 0x5a490)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a490)" (( "(") (binary_expression "puVar25 + 0x5a490" (identifier "puVar25") (+ "+") (number_literal "0x5a490")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppuVar13 = pppppuVar11;" (assignment_expression "pppppuVar13 = pppppuVar11" (identifier "pppppuVar13") (= "=") (identifier "pppppuVar11")) (; ";")) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" (identifier "puVar16") (= "=") (identifier "puVar17")) (; ";")) (} "}")) (else_clause "else {\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }" (else "else") (compound_statement "{\n              (**(code **)(puVar25 + 0x5a490))();\n              *pppppuVar10 = ppppuVar4;\n            }" ({ "{") (expression_statement "(**(code **)(puVar25 + 0x5a490))();" (call_expression "(**(code **)(puVar25 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a490))" (( "(") (pointer_expression "**(code **)(puVar25 + 0x5a490)" (* "*") (pointer_expression "*(code **)(puVar25 + 0x5a490)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a490)" (( "(") (binary_expression "puVar25 + 0x5a490" (identifier "puVar25") (+ "+") (number_literal "0x5a490")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*pppppuVar10 = ppppuVar4;" (assignment_expression "*pppppuVar10 = ppppuVar4" (pointer_expression "*pppppuVar10" (* "*") (identifier "pppppuVar10")) (= "=") (identifier "ppppuVar4")) (; ";")) (} "}")))) (goto_statement "goto LAB_00136530;" (goto "goto") (statement_identifier "LAB_00136530") (; ";")) (} "}"))) (} "}"))) (expression_statement "pppppuVar13 = pppppuVar11;" (assignment_expression "pppppuVar13 = pppppuVar11" (identifier "pppppuVar13") (= "=") (identifier "pppppuVar11")) (; ";")) (expression_statement "(**(code **)(puVar25 + 0x5a490))();" (call_expression "(**(code **)(puVar25 + 0x5a490))()" (parenthesized_expression "(**(code **)(puVar25 + 0x5a490))" (( "(") (pointer_expression "**(code **)(puVar25 + 0x5a490)" (* "*") (pointer_expression "*(code **)(puVar25 + 0x5a490)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a490)" (( "(") (binary_expression "puVar25 + 0x5a490" (identifier "puVar25") (+ "+") (number_literal "0x5a490")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*pppppuVar10 = ppppuVar4;" (assignment_expression "*pppppuVar10 = ppppuVar4" (pointer_expression "*pppppuVar10" (* "*") (identifier "pppppuVar10")) (= "=") (identifier "ppppuVar4")) (; ";")) (goto_statement "goto LAB_00136530;" (goto "goto") (statement_identifier "LAB_00136530") (; ";")) (} "}"))) (} "}"))) (expression_statement "pppppuVar6 = pppppuVar11;" (assignment_expression "pppppuVar6 = pppppuVar11" (identifier "pppppuVar6") (= "=") (identifier "pppppuVar11")) (; ";")) (expression_statement "*pppppuVar10 = (uint ****)0x7;" (assignment_expression "*pppppuVar10 = (uint ****)0x7" (pointer_expression "*pppppuVar10" (* "*") (identifier "pppppuVar10")) (= "=") (cast_expression "(uint ****)0x7" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x7"))) (; ";")) (} "}"))) (labeled_statement "LAB_00136530:\n  ppppuVar4 = (uint ****)*piVar21;" (statement_identifier "LAB_00136530") (: ":") (expression_statement "ppppuVar4 = (uint ****)*piVar21;" (assignment_expression "ppppuVar4 = (uint ****)*piVar21" (identifier "ppppuVar4") (= "=") (cast_expression "(uint ****)*piVar21" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")))) (; ";"))) (if_statement "if ((uint ****)pppuStack_7c == ppppuVar4) {\n    return ppppuVar4;\n  }" (if "if") (parenthesized_expression "((uint ****)pppuStack_7c == ppppuVar4)" (( "(") (binary_expression "(uint ****)pppuStack_7c == ppppuVar4" (cast_expression "(uint ****)pppuStack_7c" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppuStack_7c")) (== "==") (identifier "ppppuVar4")) () ")")) (compound_statement "{\n    return ppppuVar4;\n  }" ({ "{") (return_statement "return ppppuVar4;" (return "return") (identifier "ppppuVar4") (; ";")) (} "}"))) (expression_statement "pcVar28 = *(code **)(puVar25 + 0x5a91c);" (assignment_expression "pcVar28 = *(code **)(puVar25 + 0x5a91c)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puVar25 + 0x5a91c)" (* "*") (cast_expression "(code **)(puVar25 + 0x5a91c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x5a91c)" (( "(") (binary_expression "puVar25 + 0x5a91c" (identifier "puVar25") (+ "+") (number_literal "0x5a91c")) () ")"))))) (; ";")) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppuVar20 = pppppuVar6[5];" (assignment_expression "ppppuVar20 = pppppuVar6[5]" (identifier "ppppuVar20") (= "=") (subscript_expression "pppppuVar6[5]" (identifier "pppppuVar6") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "dVar30 = (double)CONCAT44(pppppuVar13,puVar16);" (assignment_expression "dVar30 = (double)CONCAT44(pppppuVar13,puVar16)" (identifier "dVar30") (= "=") (cast_expression "(double)CONCAT44(pppppuVar13,puVar16)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(pppppuVar13,puVar16)" (identifier "CONCAT44") (argument_list "(pppppuVar13,puVar16)" (( "(") (identifier "pppppuVar13") (, ",") (identifier "puVar16") () ")"))))) (; ";")) (expression_statement "ppppuVar15 = pppppuVar6[6];" (assignment_expression "ppppuVar15 = pppppuVar6[6]" (identifier "ppppuVar15") (= "=") (subscript_expression "pppppuVar6[6]" (identifier "pppppuVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "ppppuVar4 = pppppuVar6[8];" (assignment_expression "ppppuVar4 = pppppuVar6[8]" (identifier "ppppuVar4") (= "=") (subscript_expression "pppppuVar6[8]" (identifier "pppppuVar6") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if ((int)ppppuVar20 <= (int)ppppuVar15) {\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }" (if "if") (parenthesized_expression "((int)ppppuVar20 <= (int)ppppuVar15)" (( "(") (binary_expression "(int)ppppuVar20 <= (int)ppppuVar15" (cast_expression "(int)ppppuVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar20")) (<= "<=") (cast_expression "(int)ppppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar15"))) () ")")) (compound_statement "{\n    iVar9 = (**(code **)(pcVar28 + 0x5a220))();\n    if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }\n    return (uint ****)0x0;\n  }" ({ "{") (expression_statement "iVar9 = (**(code **)(pcVar28 + 0x5a220))();" (assignment_expression "iVar9 = (**(code **)(pcVar28 + 0x5a220))()" (identifier "iVar9") (= "=") (call_expression "(**(code **)(pcVar28 + 0x5a220))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x5a220))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x5a220)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x5a220)" (* "*") (cast_expression "(code **)(pcVar28 + 0x5a220)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x5a220)" (( "(") (binary_expression "pcVar28 + 0x5a220" (identifier "pcVar28") (+ "+") (number_literal "0x5a220")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);\n      if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }\n    }" ({ "{") (expression_statement "ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);" (assignment_expression "ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4)" (identifier "ppppuVar4") (= "=") (cast_expression "(uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354)" (* "*") (cast_expression "(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar28 + 0x5a240) + 0x354)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x5a240) + 0x354" (pointer_expression "*(int *)(pcVar28 + 0x5a240)" (* "*") (cast_expression "(int *)(pcVar28 + 0x5a240)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x5a240)" (( "(") (binary_expression "pcVar28 + 0x5a240" (identifier "pcVar28") (+ "+") (number_literal "0x5a240")) () ")")))) (+ "+") (number_literal "0x354")) () ")")))) () ")")) (argument_list "(ppppuVar4)" (( "(") (identifier "ppppuVar4") () ")"))))) (; ";")) (if_statement "if (ppppuVar4 != (uint ****)0x0) {\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }" (if "if") (parenthesized_expression "(ppppuVar4 != (uint ****)0x0)" (( "(") (binary_expression "ppppuVar4 != (uint ****)0x0" (identifier "ppppuVar4") (!= "!=") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        ppppuVar15 = pppppuVar6[6];\n        pppppuVar6[8] = ppppuVar4;\n        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);\n        goto LAB_001369b4;\n      }" ({ "{") (expression_statement "ppppuVar15 = pppppuVar6[6];" (assignment_expression "ppppuVar15 = pppppuVar6[6]" (identifier "ppppuVar15") (= "=") (subscript_expression "pppppuVar6[6]" (identifier "pppppuVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "pppppuVar6[8] = ppppuVar4;" (assignment_expression "pppppuVar6[8] = ppppuVar4" (subscript_expression "pppppuVar6[8]" (identifier "pppppuVar6") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "ppppuVar4")) (; ";")) (expression_statement "pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);" (assignment_expression "pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2)" (subscript_expression "pppppuVar6[5]" (identifier "pppppuVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(uint ****)((int)(ppppuVar20 + 1) * 2)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)(ppppuVar20 + 1) * 2)" (( "(") (binary_expression "(int)(ppppuVar20 + 1) * 2" (cast_expression "(int)(ppppuVar20 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(ppppuVar20 + 1)" (( "(") (binary_expression "ppppuVar20 + 1" (identifier "ppppuVar20") (+ "+") (number_literal "1")) () ")"))) (* "*") (number_literal "2")) () ")")))) (; ";")) (goto_statement "goto LAB_001369b4;" (goto "goto") (statement_identifier "LAB_001369b4") (; ";")) (} "}"))) (} "}"))) (return_statement "return (uint ****)0x0;" (return "return") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (labeled_statement "LAB_001369b4:\n  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);" (statement_identifier "LAB_001369b4") (: ":") (expression_statement "pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);" (assignment_expression "pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1)" (subscript_expression "pppppuVar6[6]" (identifier "pppppuVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(uint ****)((int)ppppuVar15 + 1)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppuVar15 + 1)" (( "(") (binary_expression "(int)ppppuVar15 + 1" (cast_expression "(int)ppppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar15")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;" (assignment_expression "ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6" (identifier "ppppuVar4") (= "=") (binary_expression "ppppuVar4 + (int)ppppuVar15 * 6" (identifier "ppppuVar4") (+ "+") (binary_expression "(int)ppppuVar15 * 6" (cast_expression "(int)ppppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar15")) (* "*") (number_literal "6")))) (; ";")) (expression_statement "*(double *)ppppuVar4 = dVar30;" (assignment_expression "*(double *)ppppuVar4 = dVar30" (pointer_expression "*(double *)ppppuVar4" (* "*") (cast_expression "(double *)ppppuVar4" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppuVar4"))) (= "=") (identifier "dVar30")) (; ";")) (expression_statement "*(undefined1 *)(ppppuVar4 + 4) = uStack_b5;" (assignment_expression "*(undefined1 *)(ppppuVar4 + 4) = uStack_b5" (pointer_expression "*(undefined1 *)(ppppuVar4 + 4)" (* "*") (cast_expression "(undefined1 *)(ppppuVar4 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppuVar4 + 4)" (( "(") (binary_expression "ppppuVar4 + 4" (identifier "ppppuVar4") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uStack_b5")) (; ";")) (if_statement "if (0 < (int)ppppuVar15) {\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }" (if "if") (parenthesized_expression "(0 < (int)ppppuVar15)" (( "(") (binary_expression "0 < (int)ppppuVar15" (number_literal "0") (< "<") (cast_expression "(int)ppppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar15"))) () ")")) (compound_statement "{\n    while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }\n  }" ({ "{") (while_statement "while( true ) {\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);\n      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;\n      if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;\n      dVar30 = *(double *)ppppuVar20;\n    }" ({ "{") (expression_statement "ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);" (assignment_expression "ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1)" (identifier "ppppuVar15") (= "=") (cast_expression "(uint ****)((int)((int)ppppuVar15 - 1U) >> 1)" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)((int)ppppuVar15 - 1U) >> 1)" (( "(") (binary_expression "(int)((int)ppppuVar15 - 1U) >> 1" (cast_expression "(int)((int)ppppuVar15 - 1U)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)ppppuVar15 - 1U)" (( "(") (binary_expression "(int)ppppuVar15 - 1U" (cast_expression "(int)ppppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar15")) (- "-") (number_literal "1U")) () ")"))) (>> ">>") (number_literal "1")) () ")")))) (; ";")) (expression_statement "ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;" (assignment_expression "ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6" (identifier "ppppuVar20") (= "=") (binary_expression "pppppuVar6[8] + (int)ppppuVar15 * 6" (subscript_expression "pppppuVar6[8]" (identifier "pppppuVar6") ([ "[") (number_literal "8") (] "]")) (+ "+") (binary_expression "(int)ppppuVar15 * 6" (cast_expression "(int)ppppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar15")) (* "*") (number_literal "6")))) (; ";")) (if_statement "if (((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         ) break;" (if "if") (parenthesized_expression "(((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)\n         )" (( "(") (binary_expression "((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||\n         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)" (parenthesized_expression "((*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4)))))" (( "(") (binary_expression "(*(double *)ppppuVar20 <= dVar30) &&\n          ((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))" (parenthesized_expression "(*(double *)ppppuVar20 <= dVar30)" (( "(") (binary_expression "*(double *)ppppuVar20 <= dVar30" (pointer_expression "*(double *)ppppuVar20" (* "*") (cast_expression "(double *)ppppuVar20" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppuVar20"))) (<= "<=") (identifier "dVar30")) () ")")) (&& "&&") (parenthesized_expression "((*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))" (( "(") (parenthesized_expression "(*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4)))" (( "(") (binary_expression "*(double *)ppppuVar20 < dVar30 ||\n           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))" (binary_expression "*(double *)ppppuVar20 < dVar30" (pointer_expression "*(double *)ppppuVar20" (* "*") (cast_expression "(double *)ppppuVar20" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppuVar20"))) (< "<") (identifier "dVar30")) (|| "||") (parenthesized_expression "(*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))" (( "(") (binary_expression "*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4)" (pointer_expression "*(byte *)(ppppuVar20 + 4)" (* "*") (cast_expression "(byte *)(ppppuVar20 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppuVar20 + 4)" (( "(") (binary_expression "ppppuVar20 + 4" (identifier "ppppuVar20") (+ "+") (number_literal "4")) () ")")))) (<= "<=") (pointer_expression "*(byte *)(ppppuVar4 + 4)" (* "*") (cast_expression "(byte *)(ppppuVar4 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppuVar4 + 4)" (( "(") (binary_expression "ppppuVar4 + 4" (identifier "ppppuVar4") (+ "+") (number_literal "4")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)" (( "(") (comma_expression "FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0" (call_expression "FUN_0012e7ac(pppppuVar6,ppppuVar15)" (identifier "FUN_0012e7ac") (argument_list "(pppppuVar6,ppppuVar15)" (( "(") (identifier "pppppuVar6") (, ",") (identifier "ppppuVar15") () ")"))) (, ",") (comma_expression "ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0" (assignment_expression "ppppuVar4 = ppppuVar20" (identifier "ppppuVar4") (= "=") (identifier "ppppuVar20")) (, ",") (binary_expression "ppppuVar15 == (uint ****)0x0" (identifier "ppppuVar15") (== "==") (cast_expression "(uint ****)0x0" (( "(") (type_descriptor "uint ****" (type_identifier "uint") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "dVar30 = *(double *)ppppuVar20;" (assignment_expression "dVar30 = *(double *)ppppuVar20" (identifier "dVar30") (= "=") (pointer_expression "*(double *)ppppuVar20" (* "*") (cast_expression "(double *)ppppuVar20" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppuVar20")))) (; ";")) (} "}"))) (} "}"))) (return_statement "return ppppuVar4;" (return "return") (identifier "ppppuVar4") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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: (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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (identifier))))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))) right: (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)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))))))) (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))))) value: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) 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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (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)))))))))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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))))) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)) right: (identifier)))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)) right: (identifier))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (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)))) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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)))))) 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)))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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) (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)))))) value: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (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: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (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))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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))))) (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))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) 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))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (unary_expression argument: (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))))) 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))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (pointer_expression argument: (identifier)))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (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: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))))))) (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))))) value: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) 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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (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)))) 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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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) (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))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (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))))) 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))))) value: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (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))))) 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)))))) (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 (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (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))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) (goto_statement label: (statement_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))))) value: (number_literal))))) (labeled_statement label: (statement_identifier) (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))))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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 (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (parenthesized_expression (comma_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))) right: (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))))) value: (number_literal)))))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))))))) (return_statement (identifier)))))

uint **** MASKED(uint *****param_1,int param_2,uint *****param_3,uint *param_4)

{
  byte bVar1;
  undefined *puVar2;
  byte *pbVar3;
  uint ****ppppuVar4;
  int iVar5;
  uint *****pppppuVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  uint *****pppppuVar10;
  uint *****pppppuVar11;
  uint *****pppppuVar12;
  uint *****pppppuVar13;
  byte *pbVar14;
  uint ****ppppuVar15;
  uint *puVar16;
  uint *puVar17;
  undefined1 *puVar18;
  uint uVar19;
  uint *****unaff_s0;
  uint *unaff_s1;
  uint ****ppppuVar20;
  uint *****unaff_s2;
  int *piVar21;
  uint *****pppppuVar22;
  uint *****unaff_s4;
  int unaff_s5;
  int iVar23;
  uint uVar24;
  undefined *puVar25;
  code *pcVar26;
  code *pcVar27;
  code *pcVar28;
  int iVar29;
  double dVar30;
  undefined1 uStack_b5;
  uint ***pppuStack_8c;
  undefined1 auStack_88 [4];
  uint ***pppuStack_84;
  uint ***pppuStack_7c;
  uint ****ppppuStack_78;
  uint *puStack_74;
  uint ****ppppuStack_70;
  undefined *puStack_6c;
  uint ****ppppuStack_68;
  int iStack_64;
  undefined *local_40;
  uint ****local_28;
  uint ***local_24;
  
  puVar2 = PTR___stack_chk_guard_00190e24;
  local_24 = *(uint ****)PTR___stack_chk_guard_00190e24;
  pppppuVar10 = param_1;
  iVar9 = param_2;
  pppppuVar12 = param_3;
  if (*param_1 == (uint ****)0x0) {
    unaff_s2 = *(uint ******)(param_2 + 0x18);
    unaff_s1 = (uint *)(*(code *)PTR_sqlite3_initialize_00190b88)();
    unaff_s0 = param_3;
    unaff_s4 = param_1;
    unaff_s5 = param_2;
    if (unaff_s1 == (uint *)0x0) {
      pppppuVar12 = (uint *****)((uint)unaff_s2 >> 0x1e);
      iVar9 = (int)unaff_s2 * 10;
      pppppuVar10 = (uint *****)
                    ((uint)((int)unaff_s2 * 5) >> 0x1f |
                    ((uint)((uint)((int)unaff_s2 * 5) < (uint)((int)unaff_s2 * 4)) +
                    ((uint)pppppuVar12 | ((int)unaff_s2 >> 0x1f) << 2) + ((int)unaff_s2 >> 0x1f)) *
                    2);
      unaff_s2 = (uint *****)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))();
      if (unaff_s2 != (uint *****)0x0) {
        iVar9 = *(int *)(param_2 + 0x18);
        if (0 < iVar9) {
          unaff_s1 = (uint *)0x0;
          pppppuVar10 = param_3;
          do {
            ppppuVar4 = *pppppuVar10;
            pbVar3 = (byte *)((int)unaff_s2 + (int)unaff_s1);
            do {
              pbVar14 = pbVar3;
              ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);
              bVar1 = (byte)ppppuVar4;
              *pbVar14 = bVar1 | 0x80;
              ppppuVar4 = ppppuVar15;
              pbVar3 = pbVar14 + 1;
            } while (ppppuVar15 != (uint ****)0x0);
            pppppuVar10 = pppppuVar10 + 1;
            *pbVar14 = bVar1 & 0x7f;
            unaff_s1 = (uint *)((int)unaff_s1 +
                               ((int)(pbVar14 + 1) - ((int)unaff_s2 + (int)unaff_s1)));
          } while (param_3 + iVar9 != pppppuVar10);
        }
        param_4 = (uint *)0x0;
        pppppuVar12 = &local_28;
        iVar9 = 0x14;
        ppppuVar4 = (uint ****)FUN_001210f8(param_2);
        if (ppppuVar4 == (uint ****)0x0) {
          (*(code *)PTR_sqlite3_bind_int64_00190a90)
                    (local_28,1,*(undefined4 *)(param_2 + 0x110),*(undefined4 *)(param_2 + 0x114));
          iVar9 = 2;
          local_40 = PTR_sqlite3_free_0019096c;
          pppppuVar12 = unaff_s2;
          param_4 = unaff_s1;
          (*(code *)(PTR_LAB_00190bdc + 0x2f8c))(local_28);
          (*(code *)PTR_sqlite3_step_00190990)(local_28);
          ppppuVar4 = (uint ****)(*(code *)PTR_sqlite3_reset_00190a5c)();
          *param_1 = ppppuVar4;
          pppppuVar10 = (uint *****)local_28;
        }
        else {
          pppppuVar10 = unaff_s2;
          (*(code *)PTR_sqlite3_free_0019096c)();
          *param_1 = ppppuVar4;
        }
        goto LAB_00136304;
      }
    }
    *param_1 = (uint ****)0x7;
  }
LAB_00136304:
  ppppuVar4 = *(uint *****)puVar2;
  if ((uint ****)local_24 == ppppuVar4) {
    return ppppuVar4;
  }
  puVar25 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_6c = puVar2;
  piVar21 = *(int **)(puVar25 + 0x5a948);
  pppuStack_7c = (uint ***)*piVar21;
  pppppuVar6 = pppppuVar10;
  pppppuVar13 = pppppuVar12;
  puVar16 = param_4;
  ppppuStack_78 = (uint ****)unaff_s0;
  puStack_74 = unaff_s1;
  ppppuStack_70 = (uint ****)unaff_s2;
  ppppuStack_68 = (uint ****)unaff_s4;
  iStack_64 = unaff_s5;
  if (*pppppuVar10 == (uint ****)0x0) {
    iVar23 = *(int *)(iVar9 + 0x18);
    pppppuVar11 = pppppuVar10;
    iVar5 = (**(code **)(puVar25 + 0x5a6ac))();
    if (iVar5 == 0) {
      uVar24 = iVar23 + 2;
      pppppuVar13 = (uint *****)(uVar24 >> 0x1d);
      pppppuVar11 = (uint *****)
                    (uVar24 * 7 >> 0x1f |
                    ((((uint)pppppuVar13 | ((int)uVar24 >> 0x1f) << 3) - ((int)uVar24 >> 0x1f)) -
                    (uint)(uVar24 * 8 < uVar24 * 7)) * 2);
      pppppuVar6 = (uint *****)
                   (*(code *)(*(int *)(puVar25 + 0x5a6cc) + -0x2b48))(pppppuVar11,uVar24 * 0xe);
      if (pppppuVar6 != (uint *****)0x0) {
        iVar5 = *(int *)(puVar25 + 0x5a788);
        pppppuVar13 = (uint *****)&pppuStack_8c;
        puVar16 = (uint *)0x0;
        pppppuVar11 = pppppuVar13;
        ppppuVar4 = (uint ****)FUN_001210f8(iVar9,0x16);
        if (ppppuVar4 == (uint ****)0x0) {
          pcVar28 = *(code **)(puVar25 + 0x5a5b4);
          puVar16 = (uint *)0x0;
          pcVar26 = *(code **)(puVar25 + 0x5a4b4);
          pppppuVar11 = (uint *****)0x0;
          pppppuVar22 = (uint *****)(uVar24 * 4);
          (*pcVar28)(pppuStack_8c,1);
          iVar23 = (**(code **)(puVar25 + 0x5a4b4))(pppuStack_8c);
          if (iVar23 == 100) {
            iVar23 = (**(code **)(puVar25 + 0x5a4c4))(pppuStack_8c,0);
            iVar7 = (**(code **)(puVar25 + 0x5a4c0))(pppuStack_8c,0);
            pppppuVar22 = pppppuVar11;
            if ((iVar7 == 0) || (*(char *)(iVar23 + iVar7 + -1) < '\0')) {
              uVar19 = 0;
              if (0 < (int)uVar24) goto LAB_0013690c;
              pcVar27 = *(code **)(puVar25 + 0x5a580);
            }
            else {
              pcVar27 = *(code **)(puVar25 + 0x5a580);
              if (0 < (int)uVar24) {
                uVar19 = 0;
                if (0 < iVar7) {
                  puVar18 = auStack_88;
                  pcVar27 = (code *)(*(int *)(puVar25 + 0x5a664) + 0x3ec8);
                  iVar29 = 0;
                  pppppuVar11 = pppppuVar6;
                  do {
                    iVar8 = (*pcVar27)(iVar23 + iVar29,puVar18);
                    iVar29 = iVar29 + iVar8;
                    uVar19 = uVar19 + 1;
                    *pppppuVar11 = (uint ****)pppuStack_84;
                    if (uVar24 == uVar19) goto LAB_0013666c;
                    pppppuVar11 = pppppuVar11 + 1;
                  } while (iVar29 < iVar7);
                }
LAB_0013690c:
                pppppuVar11 = pppppuVar6 + uVar19;
                do {
                  uVar19 = uVar19 + 1;
                  *pppppuVar11 = (uint ****)0x0;
                  pppppuVar11 = pppppuVar11 + 1;
                } while ((int)uVar19 < (int)uVar24);
                pcVar27 = *(code **)(puVar25 + 0x5a580);
                pppppuVar11 = pppppuVar22;
              }
            }
          }
          else {
            (**(code **)(puVar25 + 0x5a87c))(pppppuVar6,0);
LAB_0013666c:
            pcVar27 = *(code **)(puVar25 + 0x5a580);
            pppppuVar11 = pppppuVar22;
          }
          ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);
          if (ppppuVar4 == (uint ****)0x0) {
            if (((int)local_40 < 0) && (*pppppuVar6 < (uint ****)-(int)local_40)) {
              ppppuVar4 = (uint ****)0x0;
            }
            else {
              ppppuVar4 = (uint ****)(local_40 + (int)*pppppuVar6);
            }
            *pppppuVar6 = ppppuVar4;
            pppppuVar11 = pppppuVar6 + 1;
            if (-1 < *(int *)(iVar9 + 0x18)) {
              iVar23 = 0;
              do {
                while (*param_4 <= (uint)((int)*pppppuVar12 + (int)*pppppuVar11)) {
                  iVar23 = iVar23 + 1;
                  *pppppuVar11 = (uint ****)(((int)*pppppuVar12 + (int)*pppppuVar11) - *param_4);
                  pppppuVar12 = pppppuVar12 + 1;
                  pppppuVar11 = pppppuVar11 + 1;
                  param_4 = param_4 + 1;
                  if (*(int *)(iVar9 + 0x18) < iVar23) goto LAB_00136714;
                }
                iVar23 = iVar23 + 1;
                *pppppuVar11 = (uint ****)0x0;
                pppppuVar12 = pppppuVar12 + 1;
                pppppuVar11 = pppppuVar11 + 1;
                param_4 = param_4 + 1;
              } while (iVar23 <= *(int *)(iVar9 + 0x18));
            }
LAB_00136714:
            pppppuVar11 = pppppuVar6 + uVar24;
            puVar16 = (uint *)0x0;
            pppppuVar12 = pppppuVar6;
            puVar17 = (uint *)0x0;
            if (0 < (int)uVar24) {
              do {
                ppppuVar4 = *pppppuVar12;
                pbVar3 = (byte *)((int)pppppuVar11 + (int)puVar16);
                do {
                  pbVar14 = pbVar3;
                  ppppuVar15 = (uint ****)((uint)ppppuVar4 >> 7);
                  bVar1 = (byte)ppppuVar4;
                  *pbVar14 = bVar1 | 0x80;
                  ppppuVar4 = ppppuVar15;
                  pbVar3 = pbVar14 + 1;
                } while (ppppuVar15 != (uint ****)0x0);
                pppppuVar12 = pppppuVar12 + 1;
                *pbVar14 = bVar1 & 0x7f;
                puVar16 = (uint *)((int)puVar16 +
                                  ((int)(pbVar14 + 1) - ((int)pppppuVar11 + (int)puVar16)));
                puVar17 = puVar16;
              } while (pppppuVar11 != pppppuVar12);
            }
            puVar16 = (uint *)0x0;
            ppppuVar4 = (uint ****)(*(code *)(iVar5 + 0x10f8))(iVar9,0x17);
            if (ppppuVar4 == (uint ****)0x0) {
              (*pcVar28)(pppuStack_8c,1,0,0);
              uStack_b5 = 0;
              (*(code *)(*(int *)(puVar25 + 0x5a700) + 0x2f8c))(pppuStack_8c,2);
              (*pcVar26)(pppuStack_8c);
              ppppuVar4 = (uint ****)(*pcVar27)(pppuStack_8c);
              pcVar28 = *(code **)(puVar25 + 0x5a5ac);
              *pppppuVar10 = ppppuVar4;
              (*pcVar28)(pppuStack_8c,2);
              (**(code **)(puVar25 + 0x5a490))();
              pppppuVar13 = pppppuVar11;
              puVar16 = puVar17;
            }
            else {
              (**(code **)(puVar25 + 0x5a490))();
              *pppppuVar10 = ppppuVar4;
            }
            goto LAB_00136530;
          }
        }
        pppppuVar13 = pppppuVar11;
        (**(code **)(puVar25 + 0x5a490))();
        *pppppuVar10 = ppppuVar4;
        goto LAB_00136530;
      }
    }
    pppppuVar6 = pppppuVar11;
    *pppppuVar10 = (uint ****)0x7;
  }
LAB_00136530:
  ppppuVar4 = (uint ****)*piVar21;
  if ((uint ****)pppuStack_7c == ppppuVar4) {
    return ppppuVar4;
  }
  pcVar28 = *(code **)(puVar25 + 0x5a91c);
  (*pcVar28)();
  ppppuVar20 = pppppuVar6[5];
  dVar30 = (double)CONCAT44(pppppuVar13,puVar16);
  ppppuVar15 = pppppuVar6[6];
  ppppuVar4 = pppppuVar6[8];
  if ((int)ppppuVar20 <= (int)ppppuVar15) {
    iVar9 = (**(code **)(pcVar28 + 0x5a220))();
    if (iVar9 == 0) {
      ppppuVar4 = (uint ****)(*(code *)(*(int *)(pcVar28 + 0x5a240) + 0x354))(ppppuVar4);
      if (ppppuVar4 != (uint ****)0x0) {
        ppppuVar15 = pppppuVar6[6];
        pppppuVar6[8] = ppppuVar4;
        pppppuVar6[5] = (uint ****)((int)(ppppuVar20 + 1) * 2);
        goto LAB_001369b4;
      }
    }
    return (uint ****)0x0;
  }
LAB_001369b4:
  pppppuVar6[6] = (uint ****)((int)ppppuVar15 + 1);
  ppppuVar4 = ppppuVar4 + (int)ppppuVar15 * 6;
  *(double *)ppppuVar4 = dVar30;
  *(undefined1 *)(ppppuVar4 + 4) = uStack_b5;
  if (0 < (int)ppppuVar15) {
    while( true ) {
      ppppuVar15 = (uint ****)((int)((int)ppppuVar15 - 1U) >> 1);
      ppppuVar20 = pppppuVar6[8] + (int)ppppuVar15 * 6;
      if (((*(double *)ppppuVar20 <= dVar30) &&
          ((*(double *)ppppuVar20 < dVar30 ||
           (*(byte *)(ppppuVar20 + 4) <= *(byte *)(ppppuVar4 + 4))))) ||
         (FUN_0012e7ac(pppppuVar6,ppppuVar15), ppppuVar4 = ppppuVar20, ppppuVar15 == (uint ****)0x0)
         ) break;
      dVar30 = *(double *)ppppuVar20;
    }
  }
  return ppppuVar4;
}

