
/* WARNING: Type propagation algorithm not settling */

int fts3DeleteByRowid(Fts3Table *p,sqlite3_value *pRowid,int *pnChng,u32 *aSzDel)

{
  char cVar1;
  sqlite_int64 iDocid;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  code *pcVar5;
  undefined4 uVar6;
  int iVar7;
  int *piVar8;
  int *piVar9;
  sqlite3_vtab_cursor *psVar10;
  sqlite3_vtab *psVar11;
  sqlite3_vtab *extraout_v1;
  undefined *puVar12;
  Fts3Table *p_00;
  sqlite3_vtab_cursor *psVar13;
  sqlite3_vtab_cursor *pCursor;
  Fts3Table *pFVar14;
  sqlite3_vtab_cursor *psVar15;
  int *piVar16;
  code *pcVar17;
  undefined *puVar18;
  Fts3MultiSegReader *pCsr;
  sqlite3_value **ppsVar19;
  sqlite3_stmt **ppsVar20;
  int iVar21;
  int *piVar22;
  undefined *unaff_s7;
  undefined *puVar23;
  int iVar24;
  undefined *puVar25;
  int iVar26;
  undefined4 **ppuVar27;
  undefined4 *puStack_e8;
  int iStack_e4;
  int *piStack_dc;
  Fts3Table *pFStack_d8;
  undefined *puStack_d4;
  sqlite3_value **ppsStack_d0;
  sqlite3_stmt **ppsStack_cc;
  code *pcStack_c8;
  code *pcStack_c4;
  undefined *puStack_b0;
  code *pcStack_a4;
  int iStack_a0;
  sqlite3_vtab_cursor *psStack_9c;
  code *pcStack_98;
  Fts3Table *pFStack_94;
  undefined *puStack_90;
  sqlite3_value **ppsStack_8c;
  sqlite3_stmt **ppsStack_88;
  u32 *puStack_84;
  int *piStack_80;
  undefined *puStack_7c;
  int iStack_78;
  code *pcStack_74;
  Fts3Table *pFStack_6c;
  int iStack_50;
  sqlite3_value *psStack_3c;
  int iStack_38;
  sqlite3_value *psStack_34;
  sqlite3_stmt *pStmt;
  Fts3Table *pFStack_2c;
  
  puVar18 = PTR___stack_chk_guard_00190e24;
  ppsVar20 = &pStmt;
  ppsVar19 = &psStack_34;
  pFVar14 = (Fts3Table *)&DAT_00000007;
  iStack_38 = 0;
  pcVar17 = (code *)(PTR_LAB_00190c64 + 0x10f8);
  pFStack_2c = *(Fts3Table **)PTR___stack_chk_guard_00190e24;
  psStack_3c = pRowid;
  psStack_34 = pRowid;
  iStack_78 = (*pcVar17)(p,7,ppsVar20,ppsVar19);
  puVar25 = PTR_sqlite3_step_00190990;
  puVar23 = unaff_s7;
  if (iStack_78 == 0) {
    iVar4 = (*(code *)PTR_sqlite3_step_00190990)(pStmt);
    if (iVar4 == 100) {
      if (p->zLanguageid == (char *)0x0) {
        iStack_50 = 0;
      }
      else {
        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);
      }
      iDocid = (*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0);
      pFVar14 = (Fts3Table *)0x1;
      iVar4 = fts3PendingTermsDocid(p,1,iStack_50,iDocid);
      puVar3 = PTR_sqlite3_column_text_001909a8;
      puVar2 = PTR_sqlite3_column_bytes_0019099c;
      if (iVar4 == 0) {
        puVar12 = (undefined *)0x1;
        pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);
        do {
          puVar23 = PTR_sqlite3_reset_00190a5c;
          if (p->nColumn < (int)puVar12) {
LAB_0014a6b4:
            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);
            iStack_78 = iStack_38;
            if (iStack_38 != 0) goto LAB_0014a65c;
            psStack_34 = psStack_3c;
            if (p->zContentTbl == (char *)0x0) {
              pFVar14 = (Fts3Table *)0x1;
              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);
              if (iStack_78 != 0) goto LAB_0014a65c;
              iVar4 = (*(code *)puVar25)(pStmt);
              if (iVar4 == 100) {
                pFVar14 = (Fts3Table *)0x0;
                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);
                iStack_78 = (*(code *)puVar23)(pStmt);
                iStack_38 = iStack_78;
                if (iStack_78 != 0) goto LAB_0014a65c;
                if (pcVar17 != (code *)0x0) {
                  iStack_78 = fts3DeleteAll(p,1);
                  pFVar14 = (Fts3Table *)0x0;
                  *pnChng = 0;
                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);
                  goto LAB_0014a65c;
                }
              }
              else {
                iStack_78 = (*(code *)puVar23)();
                iStack_38 = iStack_78;
                if (iStack_78 != 0) goto LAB_0014a65c;
              }
            }
            *pnChng = *pnChng + -1;
            if (p->zContentTbl == (char *)0x0) {
              pFVar14 = p;
              fts3SqlExec(&iStack_38,p,0,&psStack_3c);
            }
            iStack_78 = iStack_38;
            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {
              pFVar14 = p;
              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);
              iStack_78 = iStack_38;
            }
            goto LAB_0014a65c;
          }
          pFVar14 = (Fts3Table *)p->abNotindexed;
          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];
          unaff_s7 = puVar12;
          while (cVar1 != '\0') {
            unaff_s7 = unaff_s7 + 1;
            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;
            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];
          }
          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);
          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);
          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);
          puVar12 = unaff_s7 + 1;
          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);
          (pFVar14->base).pModule =
               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);
        } while (iVar4 == 0);
      }
      (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);
      puVar23 = unaff_s7;
      iStack_78 = iVar4;
    }
    else {
      iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);
    }
  }
  else {
    (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);
  }
LAB_0014a65c:
  if (pFStack_2c == *(Fts3Table **)puVar18) {
    return iStack_78;
  }
  pcVar5 = fts3DoOptimize;
  p_00 = pFStack_2c;
  puVar25 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_b0 = puVar25 + 0x4e0e0;
  piVar16 = &iStack_a0;
  puStack_90 = puVar18;
  piVar22 = *(int **)(puVar25 + 0x465e4);
  iStack_a0 = 0;
  psStack_9c = (sqlite3_vtab_cursor *)*piVar22;
  pcStack_98 = pcVar17;
  pFStack_94 = p;
  ppsStack_8c = ppsVar19;
  ppsStack_88 = ppsVar20;
  puStack_84 = aSzDel;
  piStack_80 = pnChng;
  puStack_7c = puVar23;
  pcStack_74 = pcVar5;
  pFStack_6c = pFVar14;
  piVar8 = (int *)(*(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8))();
  if (piVar8 == (int *)0x0) {
    pcVar17 = *(code **)(puStack_b0 + -0x7e90);
    ppsVar19 = (sqlite3_value **)0x0;
    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);
    aSzDel = *(u32 **)(puStack_b0 + -0x7f90);
    (*pcVar17)(iStack_a0,1,p_00->iPrevLangid >> 0x1f);
    piVar16 = (int *)(p_00->nIndex >> 0x1f);
    (*pcVar17)(iStack_a0,2);
    puVar18 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);
LAB_0014a978:
    ppsVar20 = (sqlite3_stmt **)&DAT_00000064;
    piVar8 = (int *)0x0;
    iVar4 = (*(code *)aSzDel)(iStack_a0);
    while (iVar4 == 100) {
      p = (Fts3Table *)0x65;
      iVar4 = (*pcStack_a4)(iStack_a0,0);
      piVar9 = piVar8;
      while (piVar8 == (int *)0x0) {
        if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;
        while( true ) {
          piVar16 = piVar9;
          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);
          piVar9 = (int *)((int)piVar9 + 1);
          if (piVar8 != (int *)0x65) break;
          ppsVar19 = (sqlite3_value **)0x1;
          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;
        }
      }
      iVar4 = (*(code *)aSzDel)(iStack_a0);
    }
    piVar9 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();
    if (piVar8 != (int *)0x0) goto LAB_0014a8bc;
    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);
    iVar4 = *(int *)(puStack_b0 + -0x7d78);
    p_00->pSegments = (sqlite3_blob *)0x0;
    (*(code *)(iVar4 + -0x550))(p_00);
    if (((piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0)) &&
       (piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0)) {
      piVar9 = (int *)0x0;
    }
  }
  else {
LAB_0014a8bc:
    piVar9 = piVar8;
    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);
    iVar4 = *(int *)(puStack_b0 + -0x7d78);
    p_00->pSegments = (sqlite3_blob *)0x0;
    (*(code *)(iVar4 + -0x550))(p_00);
  }
  if (psStack_9c == (sqlite3_vtab_cursor *)*piVar22) {
    return (int)piVar9;
  }
  pcVar17 = *(code **)(puStack_b0 + -0x7b28);
  pcVar5 = fts3OptimizeFunc;
  psVar13 = psStack_9c;
  (*pcVar17)();
  ppuVar27 = &puStack_e8;
  psVar15 = psVar13 + 5;
  piVar8 = *(int **)(pcVar17 + 0x46394);
  iVar7 = *piVar16;
  iStack_e4 = *piVar8;
  pCursor = psVar13;
  psVar10 = psVar15;
  piStack_dc = piVar9;
  pFStack_d8 = p;
  puStack_d4 = puVar18;
  ppsStack_d0 = ppsVar19;
  ppsStack_cc = ppsVar20;
  pcStack_c8 = (code *)aSzDel;
  pcStack_c4 = pcVar5;
  iVar4 = (*(code *)(*(int *)(pcVar17 + 0x4613c) + -0x2a6c))();
  if (iVar4 == 0) {
    iVar7 = 0;
    pcVar5 = *(code **)(pcVar17 + 0x45fb8);
    pFVar14 = (Fts3Table *)*puStack_e8;
    ppuVar27 = (undefined4 **)0x0;
    psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0);
    if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;
    psVar10 = (sqlite3_vtab_cursor *)fts3DoOptimize(pFVar14,1);
    if (psVar10 == (sqlite3_vtab_cursor *)0x0) {
      iVar7 = 0;
      ppuVar27 = (undefined4 **)0x0;
      psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);
      if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;
      (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);
      pFVar14->pSegments = (sqlite3_blob *)0x0;
LAB_0014abe4:
      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64;
    }
    else {
      iVar7 = 0;
      ppuVar27 = (undefined4 **)0x0;
      if (psVar10 == (sqlite3_vtab_cursor *)0x65) {
        psVar10 = (sqlite3_vtab_cursor *)
                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);
        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;
        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);
        pFVar14->pSegments = (sqlite3_blob *)0x0;
      }
      else {
        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);
        iVar7 = 0;
        ppuVar27 = (undefined4 **)0x0;
        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);
LAB_0014ab6c:
        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);
        pFVar14->pSegments = (sqlite3_blob *)0x0;
        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;
        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {
          (**(code **)(pcVar17 + 0x45f44))();
          pCursor = psVar13;
          goto LAB_0014ab04;
        }
      }
      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74;
    }
    iVar7 = -1;
    ppuVar27 = (undefined4 **)0x1;
    (*(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0))(psVar13,psVar15,iVar4,0xffffffff,1,0);
    pCursor = psVar13;
    psVar10 = psVar15;
  }
LAB_0014ab04:
  iVar4 = *piVar8;
  if (iStack_e4 == iVar4) {
    return iVar4;
  }
  pcVar17 = *(code **)(pcVar17 + 0x46368);
  (*pcVar17)();
  pCsr = (Fts3MultiSegReader *)(pCursor + 1);
  pFVar14 = (Fts3Table *)pCursor->pVtab[1].pModule;
  if (psVar10 == (sqlite3_vtab_cursor *)0x1) {
    if (iVar7 < 2) {
      pcVar5 = *(code **)(pcVar17 + 0x45c8c);
      iVar21 = -1;
      iVar7 = 0;
      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);
      (*pcVar5)(pCursor[0xf].pVtab);
      iVar4 = -1;
      (*pcVar5)(pCursor[0x1c].pVtab);
      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);
      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;
    }
    else {
      pcVar5 = *(code **)(pcVar17 + 0x45c8c);
      iVar21 = -1;
      iVar7 = 0;
      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);
      (*pcVar5)(pCursor[0xf].pVtab);
      iVar4 = 1;
      (*pcVar5)(pCursor[0x1c].pVtab);
      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);
      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;
    }
  }
  else {
    if (((uint)psVar10 & 2) == 0) {
      iVar24 = -1;
      iVar4 = 0;
      iVar21 = 0;
      if (((uint)psVar10 & 4) != 0) goto LAB_0014ad4c;
LAB_0014aea4:
      iVar21 = -1;
      if (iVar4 < iVar7) {
        iVar26 = *(int *)(pcVar17 + 0x45ef0);
        goto LAB_0014aeb4;
      }
LAB_0014ad60:
      pcVar5 = *(code **)(pcVar17 + 0x45c8c);
      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);
      (*pcVar5)(pCursor[0xf].pVtab);
      iVar4 = -1;
      (*pcVar5)(pCursor[0x1c].pVtab);
      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);
      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;
    }
    else {
      iVar4 = 1;
      iVar24 = 0;
      iVar21 = iVar4;
      if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;
LAB_0014ad4c:
      iVar4 = iVar21 + 1;
      iVar26 = *(int *)(pcVar17 + 0x45ef0);
      if (iVar7 <= iVar4) goto LAB_0014ad60;
LAB_0014aeb4:
      pcVar5 = *(code **)(pcVar17 + 0x45c8c);
      (*(code *)(iVar26 + -0x5eb4))(pCsr);
      (*pcVar5)(pCursor[0xf].pVtab);
      (*pcVar5)(pCursor[0x1c].pVtab);
      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);
      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;
    }
    iVar7 = 1;
    if (iVar24 != 0) goto LAB_0014ae0c;
  }
  iVar24 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(*ppuVar27,1);
  if (iVar24 != 0) {
    psVar11 = (sqlite3_vtab *)
              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24);
    pCursor[0xf].pVtab = psVar11;
    if (psVar11 == (sqlite3_vtab *)0x0) {
      return 7;
    }
    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);
    pCursor[0x10].pVtab = psVar11;
  }
LAB_0014ae0c:
  if (iVar21 != -1) {
    uVar6 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(ppuVar27[iVar21],1);
    psVar11 = (sqlite3_vtab *)
              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6);
    pCursor[0x13].pVtab = psVar11;
    if (psVar11 == (sqlite3_vtab *)0x0) {
      return 7;
    }
    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);
    pCursor[0x14].pVtab = psVar11;
  }
  if (iVar4 == -1) {
    psVar11 = (sqlite3_vtab *)0x0;
  }
  else {
    (*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68))(ppuVar27[iVar4]);
    psVar11 = extraout_v1;
    if ((int)extraout_v1 < 0) {
      psVar11 = (sqlite3_vtab *)0x0;
    }
  }
  pCursor[0x15].pVtab = psVar11;
  iVar4 = sqlite3Fts3SegReaderCursor
                    (pFVar14,(int)psVar11,0,-2,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab,0
                     ,iVar7,pCsr);
  if (iVar4 == 0) {
    pCursor[4].pVtab = (sqlite3_vtab *)(pCursor + 0xf);
    iVar4 = fts3SegReaderStart(pFVar14,pCsr,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab);
    if (iVar4 == 0) {
      iVar4 = fts3auxNextMethod(pCursor);
      return iVar4;
    }
  }
  return iVar4;
}



int * FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)

{
  code cVar1;
  undefined *puVar2;
  undefined *puVar3;
  code *pcVar4;
  int **ppiVar5;
  int iVar6;
  int *piVar7;
  code *pcVar8;
  undefined4 uVar9;
  int *piVar10;
  undefined4 uVar11;
  int extraout_v1;
  int *piVar12;
  int **ppiVar13;
  uint uVar14;
  code *pcVar15;
  int iVar16;
  uint uVar17;
  int iVar18;
  code *pcVar19;
  int *piVar20;
  int iVar21;
  undefined *puVar22;
  int *piVar23;
  undefined4 *puVar24;
  undefined4 *puVar25;
  int *piVar26;
  int *unaff_s7;
  int iVar27;
  undefined *puVar28;
  int iVar29;
  int iVar30;
  int iVar31;
  undefined4 uVar32;
  int *piStack_140;
  uint uStack_13c;
  code *pcStack_138;
  int iStack_134;
  int *piStack_130;
  code *pcStack_12c;
  code *pcStack_128;
  int *piStack_124;
  code *pcStack_120;
  code *pcStack_11c;
  code *pcStack_118;
  int *piStack_114;
  int *piStack_110;
  undefined4 uStack_10c;
  int **ppiStack_f8;
  undefined4 uStack_f4;
  code *pcStack_f0;
  int *piStack_e8;
  int *piStack_e4;
  int *piStack_dc;
  code *pcStack_d8;
  undefined *puStack_d4;
  undefined4 *puStack_d0;
  undefined4 *puStack_cc;
  code *pcStack_c8;
  undefined4 uStack_c4;
  undefined *puStack_b0;
  code *pcStack_a4;
  int iStack_a0;
  int *piStack_9c;
  code *pcStack_98;
  code *pcStack_94;
  undefined *puStack_90;
  undefined4 *puStack_8c;
  undefined4 *puStack_88;
  code *pcStack_84;
  int *piStack_80;
  int *piStack_7c;
  int *piStack_78;
  code *pcStack_74;
  code *pcStack_6c;
  undefined8 local_60;
  undefined4 local_50;
  undefined4 local_3c;
  int *local_38;
  undefined4 local_34;
  undefined4 local_30;
  int local_2c;
  
  puVar22 = PTR___stack_chk_guard_00190e24;
  puVar25 = &local_30;
  puVar24 = &local_34;
  pcVar15 = (code *)&DAT_00000007;
  local_38 = (int *)0x0;
  pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);
  local_2c = *(int *)PTR___stack_chk_guard_00190e24;
  local_3c = param_2;
  local_34 = param_2;
  piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);
  puVar28 = PTR_sqlite3_step_00190990;
  piVar10 = unaff_s7;
  if (piStack_78 == (int *)0x0) {
    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);
    if (iVar6 == 100) {
      if (*(int *)(param_1 + 0x2c) == 0) {
        local_50 = 0;
      }
      else {
        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)
        ;
      }
      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);
      pcVar15 = (code *)0x1;
      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);
      puVar3 = PTR_sqlite3_column_text_001909a8;
      puVar2 = PTR_sqlite3_column_bytes_0019099c;
      if (piVar7 == (int *)0x0) {
        piVar12 = (int *)0x1;
        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);
        do {
          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;
          if (*(int *)(param_1 + 0x18) < (int)piVar12) {
LAB_0014a6b4:
            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);
            piStack_78 = local_38;
            if (local_38 != (int *)0x0) goto LAB_0014a65c;
            local_34 = local_3c;
            if (*(int *)(param_1 + 0x28) == 0) {
              pcVar15 = (code *)0x1;
              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);
              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;
              iVar6 = (*(code *)puVar28)(local_30);
              if (iVar6 == 100) {
                pcVar15 = (code *)0x0;
                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);
                piStack_78 = (int *)(*(code *)piVar10)(local_30);
                local_38 = piStack_78;
                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;
                if (pcVar19 != (code *)0x0) {
                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);
                  pcVar15 = (code *)0x0;
                  *param_3 = 0;
                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);
                  goto LAB_0014a65c;
                }
              }
              else {
                piStack_78 = (int *)(*(code *)piVar10)();
                local_38 = piStack_78;
                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;
              }
            }
            *param_3 = *param_3 + -1;
            if (*(int *)(param_1 + 0x28) == 0) {
              pcVar15 = param_1;
              FUN_0012dcb0(&local_38,param_1,0,&local_3c);
            }
            piStack_78 = local_38;
            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {
              pcVar15 = param_1;
              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);
              piStack_78 = local_38;
            }
            goto LAB_0014a65c;
          }
          pcVar15 = *(code **)(param_1 + 0x20);
          cVar1 = pcVar15[(int)piVar12 + -1];
          piVar7 = (int *)((int)piVar12 + -1);
          unaff_s7 = piVar12;
          while (cVar1 != (code)0x0) {
            piVar12 = (int *)((int)unaff_s7 + 1);
            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;
            piVar7 = unaff_s7;
            unaff_s7 = piVar12;
            cVar1 = (pcVar15 + (int)piVar12)[-1];
          }
          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);
          local_60._0_4_ = param_4 + (int)piVar7 * 4;
          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);
          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);
          piVar12 = (int *)((int)unaff_s7 + 1);
          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;
          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;
        } while (piVar7 == (int *)0x0);
      }
      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);
      piVar10 = unaff_s7;
      piStack_78 = piVar7;
    }
    else {
      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);
    }
  }
  else {
    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);
  }
LAB_0014a65c:
  if (local_2c == *(int *)puVar22) {
    return piStack_78;
  }
  pcVar8 = FUN_0014a840;
  iVar6 = local_2c;
  puVar28 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_b0 = puVar28 + 0x4e0e0;
  piVar7 = &iStack_a0;
  puStack_90 = puVar22;
  piVar26 = *(int **)(puVar28 + 0x465e4);
  iStack_a0 = 0;
  piStack_9c = (int *)*piVar26;
  pcStack_98 = pcVar19;
  pcStack_94 = param_1;
  puStack_8c = puVar24;
  puStack_88 = puVar25;
  pcStack_84 = param_4;
  piStack_80 = param_3;
  piStack_7c = piVar10;
  pcStack_74 = pcVar8;
  pcStack_6c = pcVar15;
  piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();
  if (piVar12 == (int *)0x0) {
    pcVar15 = *(code **)(puStack_b0 + -0x7e90);
    puVar24 = (undefined4 *)0x0;
    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);
    param_4 = *(code **)(puStack_b0 + -0x7f90);
    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);
    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);
    (*pcVar15)(iStack_a0,2);
    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);
LAB_0014a978:
    puVar25 = (undefined4 *)&DAT_00000064;
    piVar10 = (int *)0x0;
    iVar29 = (*param_4)(iStack_a0);
    while (iVar29 == 100) {
      param_1 = (code *)0x65;
      uVar9 = (*pcStack_a4)(iStack_a0,0);
      piVar12 = piVar10;
      while (piVar10 == (int *)0x0) {
        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;
        while( true ) {
          piVar7 = piVar12;
          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);
          piVar12 = (int *)((int)piVar12 + 1);
          if (piVar10 != (int *)0x65) break;
          puVar24 = (undefined4 *)0x1;
          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;
        }
      }
      iVar29 = (*param_4)(iStack_a0);
    }
    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();
    piVar12 = piVar10;
    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;
    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));
    iVar29 = *(int *)(puStack_b0 + -0x7d78);
    *(undefined4 *)(iVar6 + 0xf8) = 0;
    (*(code *)(iVar29 + -0x550))(iVar6);
    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&
       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {
      piVar20 = (int *)0x0;
    }
  }
  else {
LAB_0014a8bc:
    piVar20 = piVar12;
    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));
    iVar29 = *(int *)(puStack_b0 + -0x7d78);
    *(undefined4 *)(iVar6 + 0xf8) = 0;
    (*(code *)(iVar29 + -0x550))(iVar6);
  }
  if (piStack_9c == (int *)*piVar26) {
    return piVar20;
  }
  pcVar8 = *(code **)(puStack_b0 + -0x7b28);
  uVar9 = 0x14aa90;
  piVar12 = piStack_9c;
  (*pcVar8)();
  ppiStack_f8 = &piStack_e8;
  piStack_dc = piVar20;
  pcStack_f0 = pcVar8 + 0x4de90;
  puStack_cc = puVar25;
  pcVar19 = (code *)(piVar12 + 5);
  puStack_d4 = puVar22;
  uStack_c4 = uVar9;
  pcStack_c8 = param_4;
  puStack_d0 = puVar24;
  pcStack_d8 = param_1;
  piVar20 = *(int **)(pcVar8 + 0x46394);
  iVar16 = *piVar7;
  piStack_e4 = (int *)*piVar20;
  piVar7 = piVar12;
  pcVar15 = pcVar19;
  iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();
  if (iVar29 == 0) {
    iVar16 = 0;
    param_4 = *(code **)(pcStack_f0 + -0x7ed8);
    puVar24 = (undefined4 *)*piStack_e8;
    ppiStack_f8 = (int **)0x0;
    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);
    if (param_1 != (code *)0x0) goto LAB_0014ab6c;
    param_1 = (code *)FUN_0014a840(puVar24,1);
    if (param_1 == (code *)0x0) {
      iVar16 = 0;
      ppiStack_f8 = (int **)0x0;
      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);
      if (param_1 != (code *)0x0) goto LAB_0014ab6c;
      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);
      puVar24[0x3e] = 0;
LAB_0014abe4:
      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;
    }
    else {
      iVar16 = 0;
      ppiStack_f8 = (int **)0x0;
      if (param_1 == (code *)0x65) {
        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);
        if (param_1 != (code *)0x0) goto LAB_0014ab6c;
        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);
        puVar24[0x3e] = 0;
      }
      else {
        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);
        iVar16 = 0;
        ppiStack_f8 = (int **)0x0;
        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);
LAB_0014ab6c:
        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);
        puVar24[0x3e] = 0;
        if (param_1 == (code *)0x0) goto LAB_0014abe4;
        if (param_1 != (code *)0x65) {
          piVar7 = piVar12;
          pcVar15 = param_1;
          (**(code **)(pcStack_f0 + -0x7f4c))();
          goto LAB_0014ab04;
        }
      }
      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;
    }
    uStack_f4 = 0;
    iVar16 = -1;
    ppiStack_f8 = (int **)0x1;
    piVar7 = piVar12;
    pcVar15 = pcVar19;
    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);
  }
LAB_0014ab04:
  if (piStack_e4 == (int *)*piVar20) {
    return (int *)*piVar20;
  }
  pcVar8 = *(code **)(pcStack_f0 + -0x7b28);
  uVar32 = 0x14ace0;
  (*pcVar8)();
  ppiVar13 = ppiStack_f8;
  pcStack_138 = pcVar8 + 0x4dc40;
  piVar23 = piVar7 + 1;
  uVar9 = *(undefined4 *)(*piVar7 + 0xc);
  pcStack_12c = (code *)piVar20;
  pcStack_128 = param_1;
  piStack_124 = piVar12;
  pcStack_120 = (code *)puVar24;
  pcStack_11c = pcVar19;
  pcStack_118 = param_4;
  piStack_114 = piVar26;
  piStack_110 = piVar10;
  uStack_10c = uVar32;
  if (pcVar15 == (code *)0x1) {
    if (iVar16 < 2) {
      pcVar15 = *(code **)(pcVar8 + 0x45c8c);
      iVar31 = -1;
      uVar32 = 0;
      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);
      (*pcVar15)(piVar7[0xf]);
      iVar29 = -1;
      (*pcVar15)(piVar7[0x1c]);
      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);
      piVar7[0x12] = 3;
    }
    else {
      pcVar15 = *(code **)(pcVar8 + 0x45c8c);
      iVar31 = -1;
      uVar32 = 0;
      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);
      (*pcVar15)(piVar7[0xf]);
      iVar29 = 1;
      (*pcVar15)(piVar7[0x1c]);
      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);
      piVar7[0x12] = 3;
    }
LAB_0014adbc:
    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);
    if (iVar16 != 0) {
      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))
                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);
      piVar7[0xf] = iVar16;
      if (iVar16 == 0) goto LAB_0014b0b0;
      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);
      piVar7[0x10] = iVar16;
    }
  }
  else {
    if (((uint)pcVar15 & 2) == 0) {
      iVar27 = -1;
      iVar29 = 0;
      iVar31 = 0;
      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;
LAB_0014ad4c:
      iVar29 = iVar31 + 1;
      iVar30 = *(int *)(pcVar8 + 0x45ef0);
      if (iVar29 < iVar16) goto LAB_0014aeb4;
LAB_0014ad60:
      pcVar15 = *(code **)(pcVar8 + 0x45c8c);
      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);
      (*pcVar15)(piVar7[0xf]);
      iVar29 = -1;
      (*pcVar15)(piVar7[0x1c]);
      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);
      piVar7[0x12] = 0x13;
    }
    else {
      iVar29 = 1;
      iVar27 = 0;
      iVar31 = iVar29;
      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;
LAB_0014aea4:
      iVar31 = -1;
      if (iVar16 <= iVar29) goto LAB_0014ad60;
      iVar30 = *(int *)(pcVar8 + 0x45ef0);
LAB_0014aeb4:
      pcVar15 = *(code **)(pcVar8 + 0x45c8c);
      (*(code *)(iVar30 + -0x5eb4))(piVar23);
      (*pcVar15)(piVar7[0xf]);
      (*pcVar15)(piVar7[0x1c]);
      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);
      piVar7[0x12] = 0x13;
    }
    uVar32 = 1;
    if (iVar27 == 0) goto LAB_0014adbc;
  }
  if (iVar31 == -1) {
    if (iVar29 != -1) goto LAB_0014af60;
LAB_0014ae20:
    iVar29 = 0;
  }
  else {
    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);
    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);
    piVar7[0x13] = iVar16;
    if (iVar16 == 0) {
LAB_0014b0b0:
      return (int *)&DAT_00000007;
    }
    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);
    piVar7[0x14] = iVar16;
    if (iVar29 == -1) goto LAB_0014ae20;
LAB_0014af60:
    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);
    iVar29 = extraout_v1;
    if (extraout_v1 < 0) {
      iVar29 = 0;
    }
  }
  piVar7[0x15] = iVar29;
  piStack_140 = piVar23;
  piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);
  if (piVar10 != (int *)0x0) {
    return piVar10;
  }
  iVar29 = piVar7[0x10];
  piVar7[4] = (int)(piVar7 + 0xf);
  piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);
  piVar12 = piStack_114;
  pcVar4 = pcStack_118;
  pcVar8 = pcStack_11c;
  pcVar19 = pcStack_120;
  piVar10 = piStack_124;
  pcVar15 = pcStack_128;
  if (piVar26 != (int *)0x0) {
    return piVar26;
  }
  iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;
  piStack_130 = (int *)pcStack_12c;
  piStack_114 = piStack_110;
  pcStack_118 = (code *)piVar12;
  pcStack_11c = pcVar4;
  pcStack_120 = pcVar8;
  piStack_124 = (int *)pcVar19;
  pcStack_128 = (code *)piVar10;
  pcStack_12c = pcVar15;
  piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);
  iVar27 = piVar7[0x1a];
  uVar17 = piVar7[0x19] + 1;
  iVar16 = piVar7[0x1b];
  iVar30 = iVar27 + 1;
  iStack_134 = *piVar10;
  uVar9 = *(undefined4 *)(*piVar7 + 0xc);
  piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];
  piVar7[0x19] = uVar17;
  piVar7[0x1a] = iVar30;
  piStack_110 = (int *)iVar6;
  if (iVar30 < iVar16) {
    ppiVar13 = (int **)(iVar30 * 0x10);
    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);
    iVar6 = *piVar12;
    if (iVar6 < 1) {
      if ((iVar6 == 0) && (piVar12[1] != 0)) {
        piVar12 = (int *)0x0;
      }
      else {
        iVar27 = iVar27 + 2;
        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;
        do {
          piVar7[0x1a] = iVar27;
          if (iVar27 == iVar16) goto LAB_00148750;
          ppiVar13 = *(int ***)(iVar6 + 0x20);
          iVar27 = iVar27 + 1;
          piVar12 = (int *)(iVar6 + 0x24);
          iVar6 = iVar6 + 0x10;
          if (0 < (int)ppiVar13) goto LAB_001487fc;
        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));
        piVar12 = (int *)0x0;
      }
      goto LAB_00148800;
    }
  }
  else {
LAB_00148750:
    ppiVar13 = (int **)(piVar7 + 1);
    piVar12 = (int *)FUN_00147c04(uVar9);
    if (piVar12 != (int *)&DAT_00000064) {
      piVar7[0x16] = 1;
      goto LAB_00148800;
    }
    if (piVar7[0x13] != 0) {
      iVar27 = piVar7[0xc];
      iVar6 = piVar7[0x14];
      ppiVar13 = (int **)piVar7[0xb];
      iVar16 = iVar27;
      if (iVar6 < iVar27) {
        iVar16 = iVar6;
      }
      iVar30 = (**(code **)(iVar31 + -0x7b14))();
      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {
        piVar12 = (int *)0x0;
        piVar7[0x16] = 1;
        goto LAB_00148800;
      }
    }
    iVar16 = piVar7[0x1b];
    iVar6 = piVar7[0xe];
    iVar27 = piVar7[0xd];
    if (iVar16 < 2) {
      iVar16 = 2;
      ppiVar13 = (int **)(piVar7 + 0x1c);
      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);
      if (iVar30 != 0) {
LAB_00148b9c:
        piVar12 = (int *)&DAT_00000007;
        goto LAB_00148800;
      }
      iVar16 = piVar7[0x1b];
    }
    iVar16 = iVar16 << 4;
    ppiVar13 = (int **)0x0;
    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);
    if (0 < iVar6) {
      uStack_13c = 0;
      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);
      piStack_140 = (int *)0x0;
      iVar30 = (*pcVar19)(iVar27,&piStack_140);
      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);
LAB_001488f8:
      piVar12 = (int *)piVar7[0x1c];
      ppiVar5 = (int **)piVar12[1];
      iVar16 = *piVar12;
      ppiVar13 = (int **)((int)ppiVar5 + 1);
      piVar12[1] = (int)ppiVar13;
      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;
      if (iVar30 < iVar6) {
        uStack_13c = 0;
        piStack_140 = (int *)0x0;
        ppiVar13 = &piStack_140;
        iVar21 = (*pcVar19)(iVar27 + iVar30);
        iVar21 = iVar21 + iVar30;
        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {
          iVar16 = piVar7[0x1c];
          uVar17 = *(uint *)(iVar16 + 0x14);
          uVar14 = uVar17 + 1;
          *(uint *)(iVar16 + 0x14) = uVar14;
          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);
          iVar16 = piVar7[0x1c];
          uVar17 = *(uint *)(iVar16 + 0x1c);
          uVar14 = uVar17 + 1;
          *(uint *)(iVar16 + 0x1c) = uVar14;
          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);
          iVar30 = piVar7[0x1c];
          ppiVar5 = *(int ***)(iVar30 + 0xc);
          iVar16 = *(int *)(iVar30 + 8);
          ppiVar13 = (int **)((int)ppiVar5 + 1);
          *(int ***)(iVar30 + 0xc) = ppiVar13;
          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;
          if (iVar21 < iVar6) {
            uStack_13c = 0;
            piStack_140 = (int *)0x0;
            ppiVar13 = &piStack_140;
            iVar18 = (*pcVar19)(iVar27 + iVar21);
            iVar30 = 0x10;
            iVar21 = iVar21 + iVar18;
            goto LAB_00148a68;
          }
          goto LAB_001487f8;
        }
        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {
          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {
            if (iVar21 < iVar6) {
              uStack_13c = 0;
              piStack_140 = (int *)0x0;
              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);
              iVar21 = iVar21 + iVar16;
              do {
                iVar16 = uStack_13c + 2;
                uVar17 = uStack_13c;
                if (piVar7[0x1b] < iVar16) {
                  ppiVar13 = (int **)(piVar7 + 0x1c);
                  iVar30 = (*pcVar15)(piVar7 + 0x1b);
                  if (iVar30 != 0) goto LAB_00148b9c;
                }
                iVar30 = (uVar17 + 1) * 0x10;
                piVar12 = (int *)(piVar7[0x1c] + iVar30);
                ppiVar5 = (int **)piVar12[1];
                iVar16 = *piVar12;
                ppiVar13 = (int **)((int)ppiVar5 + 1);
                piVar12[1] = (int)ppiVar13;
                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;
                while( true ) {
                  if (iVar6 <= iVar21) goto LAB_001487f8;
                  uStack_13c = 0;
                  piStack_140 = (int *)0x0;
                  ppiVar13 = &piStack_140;
                  iVar18 = (*pcVar19)(iVar27 + iVar21);
                  iVar21 = iVar21 + iVar18;
LAB_00148a68:
                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {
                    if (iVar6 <= iVar21) goto LAB_001487f8;
                    uStack_13c = 0;
                    piStack_140 = (int *)0x0;
                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);
                    iVar30 = iVar30 + iVar21;
                    goto LAB_001488f8;
                  }
                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;
                  iVar16 = piVar7[0x1c] + iVar30;
                  uVar17 = *(uint *)(iVar16 + 0xc);
                  uVar14 = uVar17 + 1;
                  *(uint *)(iVar16 + 0xc) = uVar14;
                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);
                  iVar18 = piVar7[0x1c];
                  ppiVar5 = *(int ***)(iVar18 + 0xc);
                  iVar16 = *(int *)(iVar18 + 8);
                  ppiVar13 = (int **)((int)ppiVar5 + 1);
                  *(int ***)(iVar18 + 0xc) = ppiVar13;
                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;
                }
                if (iVar6 <= iVar21) break;
                uStack_13c = 0;
                piStack_140 = (int *)0x0;
                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);
                iVar21 = iVar16 + iVar21;
              } while( true );
            }
          }
          else {
            iVar16 = piVar7[0x1c];
            uVar17 = *(uint *)(iVar16 + 0x1c);
            uVar14 = uVar17 + 1;
            *(uint *)(iVar16 + 0x1c) = uVar14;
            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);
            iVar30 = piVar7[0x1c];
            ppiVar5 = *(int ***)(iVar30 + 0xc);
            iVar16 = *(int *)(iVar30 + 8);
            ppiVar13 = (int **)((int)ppiVar5 + 1);
            *(int ***)(iVar30 + 0xc) = ppiVar13;
            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;
            if (iVar21 < iVar6) {
              uStack_13c = 0;
              piStack_140 = (int *)0x0;
              ppiVar13 = &piStack_140;
              iVar18 = (*pcVar19)(iVar27 + iVar21);
              iVar30 = 0x10;
              iVar21 = iVar21 + iVar18;
              goto LAB_00148a68;
            }
          }
          goto LAB_001487f8;
        }
        if (iVar6 <= iVar21) goto LAB_001487f8;
        uStack_13c = 0;
        piStack_140 = (int *)0x0;
        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);
        iVar30 = iVar21 + iVar30;
        goto LAB_001488f8;
      }
    }
LAB_001487f8:
    piVar7[0x1a] = 0;
  }
LAB_001487fc:
  piVar12 = (int *)0x0;
LAB_00148800:
  if (iStack_134 == *piVar10) {
    return piVar12;
  }
  pcVar15 = *(code **)(iVar31 + -0x7b28);
  iVar6 = iStack_134;
  (*pcVar15)();
  piVar10 = ppiVar13[1];
  if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {
    iVar30 = 0;
    iVar27 = *(int *)(pcVar15 + 0x47f68);
    do {
      iVar21 = 0;
      iVar18 = (*ppiVar13)[iVar30];
      do {
        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);
        if (piVar7 != (int *)0x0) {
          return piVar7;
        }
        if (iVar16 == 0) break;
        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);
      } while (iVar21 < 0);
      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {
        (*(code *)(iVar31 + -0x4e9c))(iVar18);
      }
      iVar30 = iVar30 + 1;
    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));
  }
  (*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))
            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);
  return (int *)0x0;
}


lui gp,0x5
addiu gp,gp,-0x1b34
addu gp,gp,t9
addiu sp,sp,-0x70
sw s2,0x50(sp)
sw s0,0x48(sp)
sw gp,0x18(sp)
sw s6,0x60(sp)
or s6,a2,zero
sw s5,0x5c(sp)
or s5,a3,zero
sw s4,0x58(sp)
addiu s4,sp,0x40
sw s3,0x54(sp)
addiu s3,sp,0x3c
sw s1,0x4c(sp)
or a2,s4,zero
sw ra,0x6c(sp)
or a3,s3,zero
sw s8,0x68(sp)
or s1,a0,zero
sw s7,0x64(sp)
lw s2,-0x7afc(gp)
lw s0,-0x7cbc(gp)
sw a1,0x34(sp)
sw a1,0x3c(sp)
li a1,0x7
sw zero,0x38(sp)
addiu s0,s0,0x10f8
lw v0,0x0(s2)
or t9,s0,zero
sw v0,0x44(sp)
jalr t9
_nop
bne v0,zero,0x0014a648
_lw gp,0x18(sp)
lw t9,-0x7f90(gp)
lw a0,0x40(sp)
jalr t9
_sw t9,0x30(sp)
li v1,0x64
bne v0,v1,0x0014a69c
_lw gp,0x18(sp)
lw v0,0x2c(s1)
beq v0,zero,0x0014a734
_lw a0,0x40(sp)
lw a1,0x18(s1)
lw t9,-0x7ed4(gp)
jalr t9
_addiu a1,a1,0x1
lw gp,0x18(sp)
lw a0,0x40(sp)
sw v0,0x20(sp)
lw t9,-0x7f7c(gp)
jalr t9
_or a1,zero,zero
li a1,0x1
lw gp,0x18(sp)
or a0,s1,zero
lw a2,0x20(sp)
sw v1,0x14(sp)
lw t9,-0x7d6c(gp)
addiu t9,t9,-0x5cc4
bal 0x0014a33c
_sw v0,0x10(sp)
lw gp,0x18(sp)
bne v0,zero,0x0014a634
_or s8,v0,zero
lw v0,-0x7f78(gp)
li a0,0x1
sw v0,0x24(sp)
lw v0,-0x7f84(gp)
sw v0,0x2c(sp)
lw v0,-0x7d60(gp)
addiu v0,v0,-0x483c
sw v0,0x28(sp)
lw v0,0x18(s1)
slt v1,v0,a0
bne v1,zero,0x0014a6b4
_addiu s8,a0,-0x1
lw a1,0x20(s1)
addu a2,a1,s8
lbu a2,0x0(a2)
beq a2,zero,0x0014a5c8
_or s7,a0,zero
addiu s7,a0,0x1
slt v1,v0,s7
bne v1,zero,0x0014a6b4
_addu a2,a1,s7
or s8,a0,zero
lbu a2,-0x1(a2)
bne a2,zero,0x0014a5a8
_or a0,s7,zero
lw a0,0x40(sp)
lw t9,0x24(sp)
jalr t9
_or a1,s7,zero
sll v1,s8,0x2
lw a1,0x20(sp)
li a3,-0x1
addu v1,s5,v1
lw t9,0x28(sp)
or a2,v0,zero
or a0,s1,zero
jalr t9
_sw v1,0x10(sp)
or a1,s7,zero
lw a0,0x40(sp)
lw t9,0x2c(sp)
jalr t9
_or s8,v0,zero
addiu a0,s7,0x1
lw a1,0x18(s1)
lw gp,0x18(sp)
sll a1,a1,0x2
addu a1,s5,a1
lw a2,0x0(a1)
addu v0,a2,v0
beq s8,zero,0x0014a584
_sw v0,0x0(a1)
lw t9,-0x7ec4(gp)
jalr t9
_lw a0,0x40(sp)
b 0x0014a65c
_lw gp,0x18(sp)
lw t9,-0x7ec4(gp)
or s8,v0,zero
jalr t9
_lw a0,0x40(sp)
lw gp,0x18(sp)
lw a0,0x44(sp)
or v0,s8,zero
lw v1,0x0(s2)
bne a0,v1,0x0014a834
_lw ra,0x6c(sp)
lw s8,0x68(sp)
lw s7,0x64(sp)
lw s6,0x60(sp)
lw s5,0x5c(sp)
lw s4,0x58(sp)
lw s3,0x54(sp)
lw s2,0x50(sp)
lw s1,0x4c(sp)
lw s0,0x48(sp)
jr ra
_addiu sp,sp,0x70
lw t9,-0x7ec4(gp)
jalr t9
_lw a0,0x40(sp)
lw gp,0x18(sp)
b 0x0014a65c
_or s8,v0,zero
lw s7,-0x7ec4(gp)
or t9,s7,zero
jalr t9
_lw a0,0x40(sp)
lw gp,0x18(sp)
or s8,v0,zero
bne v0,zero,0x0014a65c
_sw v0,0x38(sp)
lw v1,0x34(sp)
lw v0,0x28(s1)
beq v0,zero,0x0014a75c
_sw v1,0x3c(sp)
lw v0,0x0(s6)
addiu v0,v0,-0x1
sw v0,0x0(s6)
lw v0,0x28(s1)
beq v0,zero,0x0014a73c
_lw t9,-0x7d70(gp)
lbu v0,0xea(s1)
beq v0,zero,0x0014a65c
_lw s8,0x38(sp)
bne s8,zero,0x0014a65c
_lw t9,-0x7d70(gp)
addiu a3,sp,0x34
li a2,0x13
addiu a0,sp,0x38
addiu t9,t9,-0x2350
bal 0x0012dcb0
_or a1,s1,zero
lw gp,0x18(sp)
b 0x0014a65c
_lw s8,0x38(sp)
b 0x0014a528
_sw zero,0x20(sp)
addiu a3,sp,0x34
or a2,zero,zero
addiu a0,sp,0x38
addiu t9,t9,-0x2350
bal 0x0012dcb0
_or a1,s1,zero
b 0x0014a6fc
_lw gp,0x18(sp)
li a1,0x1
or a3,s3,zero
or a2,s4,zero
or t9,s0,zero
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
bne v0,zero,0x0014a65c
_or s8,v0,zero
lw t9,0x30(sp)
jalr t9
_lw a0,0x40(sp)
li v1,0x64
lw gp,0x18(sp)
beq v0,v1,0x0014a7c0
_lw a0,0x40(sp)
or t9,s7,zero
jalr t9
_nop
lw gp,0x18(sp)
or s8,v0,zero
beq v0,zero,0x0014a6e4
_sw v0,0x38(sp)
b 0x0014a65c
_nop
lw t9,-0x7ed4(gp)
jalr t9
_or a1,zero,zero
or t9,s7,zero
lw a0,0x40(sp)
jalr t9
_or s0,v0,zero
lw gp,0x18(sp)
or s8,v0,zero
bne v0,zero,0x0014a65c
_sw v0,0x38(sp)
beq s0,zero,0x0014a6e4
_lw t9,-0x7d70(gp)
li a1,0x1
addiu t9,t9,-0x22a4
bal 0x0012dd5c
_or a0,s1,zero
or a1,zero,zero
lw gp,0x18(sp)
or a0,s5,zero
sw zero,0x0(s6)
or s8,v0,zero
lw a2,0x18(s1)
lw t9,-0x7bc8(gp)
addiu a2,a2,0x1
jalr t9
_sll a2,a2,0x3
b 0x0014a65c
_lw gp,0x18(sp)
lw t9,-0x7b28(gp)
jalr t9
_nop
(translation_unit "int * FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)\n\n{\n  code cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  int **ppiVar5;\n  int iVar6;\n  int *piVar7;\n  code *pcVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int extraout_v1;\n  int *piVar12;\n  int **ppiVar13;\n  uint uVar14;\n  code *pcVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  code *pcVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  int *piVar23;\n  undefined4 *puVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  int *unaff_s7;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int iVar30;\n  int iVar31;\n  undefined4 uVar32;\n  int *piStack_140;\n  uint uStack_13c;\n  code *pcStack_138;\n  int iStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_128;\n  int *piStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code *pcStack_118;\n  int *piStack_114;\n  int *piStack_110;\n  undefined4 uStack_10c;\n  int **ppiStack_f8;\n  undefined4 uStack_f4;\n  code *pcStack_f0;\n  int *piStack_e8;\n  int *piStack_e4;\n  int *piStack_dc;\n  code *pcStack_d8;\n  undefined *puStack_d4;\n  undefined4 *puStack_d0;\n  undefined4 *puStack_cc;\n  code *pcStack_c8;\n  undefined4 uStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  code *pcStack_98;\n  code *pcStack_94;\n  undefined *puStack_90;\n  undefined4 *puStack_8c;\n  undefined4 *puStack_88;\n  code *pcStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int *piStack_78;\n  code *pcStack_74;\n  code *pcStack_6c;\n  undefined8 local_60;\n  undefined4 local_50;\n  undefined4 local_3c;\n  int *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00190e24;\n  puVar25 = &local_30;\n  puVar24 = &local_34;\n  pcVar15 = (code *)&DAT_00000007;\n  local_38 = (int *)0x0;\n  pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_3c = param_2;\n  local_34 = param_2;\n  piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);\n  puVar28 = PTR_sqlite3_step_00190990;\n  piVar10 = unaff_s7;\n  if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }\nLAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }\n  pcVar8 = FUN_0014a840;\n  iVar6 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar28 + 0x4e0e0;\n  piVar7 = &iStack_a0;\n  puStack_90 = puVar22;\n  piVar26 = *(int **)(puVar28 + 0x465e4);\n  iStack_a0 = 0;\n  piStack_9c = (int *)*piVar26;\n  pcStack_98 = pcVar19;\n  pcStack_94 = param_1;\n  puStack_8c = puVar24;\n  puStack_88 = puVar25;\n  pcStack_84 = param_4;\n  piStack_80 = param_3;\n  piStack_7c = piVar10;\n  pcStack_74 = pcVar8;\n  pcStack_6c = pcVar15;\n  piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();\n  if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }\n  if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }\n  pcVar8 = *(code **)(puStack_b0 + -0x7b28);\n  uVar9 = 0x14aa90;\n  piVar12 = piStack_9c;\n  (*pcVar8)();\n  ppiStack_f8 = &piStack_e8;\n  piStack_dc = piVar20;\n  pcStack_f0 = pcVar8 + 0x4de90;\n  puStack_cc = puVar25;\n  pcVar19 = (code *)(piVar12 + 5);\n  puStack_d4 = puVar22;\n  uStack_c4 = uVar9;\n  pcStack_c8 = param_4;\n  puStack_d0 = puVar24;\n  pcStack_d8 = param_1;\n  piVar20 = *(int **)(pcVar8 + 0x46394);\n  iVar16 = *piVar7;\n  piStack_e4 = (int *)*piVar20;\n  piVar7 = piVar12;\n  pcVar15 = pcVar19;\n  iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();\n  if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }\nLAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }\n  pcVar8 = *(code **)(pcStack_f0 + -0x7b28);\n  uVar32 = 0x14ace0;\n  (*pcVar8)();\n  ppiVar13 = ppiStack_f8;\n  pcStack_138 = pcVar8 + 0x4dc40;\n  piVar23 = piVar7 + 1;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  pcStack_12c = (code *)piVar20;\n  pcStack_128 = param_1;\n  piStack_124 = piVar12;\n  pcStack_120 = (code *)puVar24;\n  pcStack_11c = pcVar19;\n  pcStack_118 = param_4;\n  piStack_114 = piVar26;\n  piStack_110 = piVar10;\n  uStack_10c = uVar32;\n  if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }\n  if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }\n  piVar7[0x15] = iVar29;\n  piStack_140 = piVar23;\n  piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);\n  if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }\n  iVar29 = piVar7[0x10];\n  piVar7[4] = (int)(piVar7 + 0xf);\n  piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);\n  piVar12 = piStack_114;\n  pcVar4 = pcStack_118;\n  pcVar8 = pcStack_11c;\n  pcVar19 = pcStack_120;\n  piVar10 = piStack_124;\n  pcVar15 = pcStack_128;\n  if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }\n  iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;\n  piStack_130 = (int *)pcStack_12c;\n  piStack_114 = piStack_110;\n  pcStack_118 = (code *)piVar12;\n  pcStack_11c = pcVar4;\n  pcStack_120 = pcVar8;\n  piStack_124 = (int *)pcVar19;\n  pcStack_128 = (code *)piVar10;\n  pcStack_12c = pcVar15;\n  piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);\n  iVar27 = piVar7[0x1a];\n  uVar17 = piVar7[0x19] + 1;\n  iVar16 = piVar7[0x1b];\n  iVar30 = iVar27 + 1;\n  iStack_134 = *piVar10;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];\n  piVar7[0x19] = uVar17;\n  piVar7[0x1a] = iVar30;\n  piStack_110 = (int *)iVar6;\n  if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }\nLAB_001487fc:\n  piVar12 = (int *)0x0;\nLAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }\n  pcVar15 = *(code **)(iVar31 + -0x7b28);\n  iVar6 = iStack_134;\n  (*pcVar15)();\n  piVar10 = ppiVar13[1];\n  if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }\n  (*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);\n  return (int *)0x0;\n}\n\n" (function_definition "int * FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)\n\n{\n  code cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  int **ppiVar5;\n  int iVar6;\n  int *piVar7;\n  code *pcVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int extraout_v1;\n  int *piVar12;\n  int **ppiVar13;\n  uint uVar14;\n  code *pcVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  code *pcVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  int *piVar23;\n  undefined4 *puVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  int *unaff_s7;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int iVar30;\n  int iVar31;\n  undefined4 uVar32;\n  int *piStack_140;\n  uint uStack_13c;\n  code *pcStack_138;\n  int iStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_128;\n  int *piStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code *pcStack_118;\n  int *piStack_114;\n  int *piStack_110;\n  undefined4 uStack_10c;\n  int **ppiStack_f8;\n  undefined4 uStack_f4;\n  code *pcStack_f0;\n  int *piStack_e8;\n  int *piStack_e4;\n  int *piStack_dc;\n  code *pcStack_d8;\n  undefined *puStack_d4;\n  undefined4 *puStack_d0;\n  undefined4 *puStack_cc;\n  code *pcStack_c8;\n  undefined4 uStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  code *pcStack_98;\n  code *pcStack_94;\n  undefined *puStack_90;\n  undefined4 *puStack_8c;\n  undefined4 *puStack_88;\n  code *pcStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int *piStack_78;\n  code *pcStack_74;\n  code *pcStack_6c;\n  undefined8 local_60;\n  undefined4 local_50;\n  undefined4 local_3c;\n  int *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00190e24;\n  puVar25 = &local_30;\n  puVar24 = &local_34;\n  pcVar15 = (code *)&DAT_00000007;\n  local_38 = (int *)0x0;\n  pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_3c = param_2;\n  local_34 = param_2;\n  piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);\n  puVar28 = PTR_sqlite3_step_00190990;\n  piVar10 = unaff_s7;\n  if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }\nLAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }\n  pcVar8 = FUN_0014a840;\n  iVar6 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar28 + 0x4e0e0;\n  piVar7 = &iStack_a0;\n  puStack_90 = puVar22;\n  piVar26 = *(int **)(puVar28 + 0x465e4);\n  iStack_a0 = 0;\n  piStack_9c = (int *)*piVar26;\n  pcStack_98 = pcVar19;\n  pcStack_94 = param_1;\n  puStack_8c = puVar24;\n  puStack_88 = puVar25;\n  pcStack_84 = param_4;\n  piStack_80 = param_3;\n  piStack_7c = piVar10;\n  pcStack_74 = pcVar8;\n  pcStack_6c = pcVar15;\n  piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();\n  if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }\n  if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }\n  pcVar8 = *(code **)(puStack_b0 + -0x7b28);\n  uVar9 = 0x14aa90;\n  piVar12 = piStack_9c;\n  (*pcVar8)();\n  ppiStack_f8 = &piStack_e8;\n  piStack_dc = piVar20;\n  pcStack_f0 = pcVar8 + 0x4de90;\n  puStack_cc = puVar25;\n  pcVar19 = (code *)(piVar12 + 5);\n  puStack_d4 = puVar22;\n  uStack_c4 = uVar9;\n  pcStack_c8 = param_4;\n  puStack_d0 = puVar24;\n  pcStack_d8 = param_1;\n  piVar20 = *(int **)(pcVar8 + 0x46394);\n  iVar16 = *piVar7;\n  piStack_e4 = (int *)*piVar20;\n  piVar7 = piVar12;\n  pcVar15 = pcVar19;\n  iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();\n  if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }\nLAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }\n  pcVar8 = *(code **)(pcStack_f0 + -0x7b28);\n  uVar32 = 0x14ace0;\n  (*pcVar8)();\n  ppiVar13 = ppiStack_f8;\n  pcStack_138 = pcVar8 + 0x4dc40;\n  piVar23 = piVar7 + 1;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  pcStack_12c = (code *)piVar20;\n  pcStack_128 = param_1;\n  piStack_124 = piVar12;\n  pcStack_120 = (code *)puVar24;\n  pcStack_11c = pcVar19;\n  pcStack_118 = param_4;\n  piStack_114 = piVar26;\n  piStack_110 = piVar10;\n  uStack_10c = uVar32;\n  if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }\n  if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }\n  piVar7[0x15] = iVar29;\n  piStack_140 = piVar23;\n  piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);\n  if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }\n  iVar29 = piVar7[0x10];\n  piVar7[4] = (int)(piVar7 + 0xf);\n  piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);\n  piVar12 = piStack_114;\n  pcVar4 = pcStack_118;\n  pcVar8 = pcStack_11c;\n  pcVar19 = pcStack_120;\n  piVar10 = piStack_124;\n  pcVar15 = pcStack_128;\n  if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }\n  iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;\n  piStack_130 = (int *)pcStack_12c;\n  piStack_114 = piStack_110;\n  pcStack_118 = (code *)piVar12;\n  pcStack_11c = pcVar4;\n  pcStack_120 = pcVar8;\n  piStack_124 = (int *)pcVar19;\n  pcStack_128 = (code *)piVar10;\n  pcStack_12c = pcVar15;\n  piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);\n  iVar27 = piVar7[0x1a];\n  uVar17 = piVar7[0x19] + 1;\n  iVar16 = piVar7[0x1b];\n  iVar30 = iVar27 + 1;\n  iStack_134 = *piVar10;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];\n  piVar7[0x19] = uVar17;\n  piVar7[0x1a] = iVar30;\n  piStack_110 = (int *)iVar6;\n  if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }\nLAB_001487fc:\n  piVar12 = (int *)0x0;\nLAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }\n  pcVar15 = *(code **)(iVar31 + -0x7b28);\n  iVar6 = iStack_134;\n  (*pcVar15)();\n  piVar10 = ppiVar13[1];\n  if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }\n  (*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);\n  return (int *)0x0;\n}" primitive_type (pointer_declarator "* FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)" * (function_declarator "FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)" identifier (parameter_list "(code *param_1,undefined4 param_2,int *param_3,code *param_4)" ( (parameter_declaration "code *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "code *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  code cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  int **ppiVar5;\n  int iVar6;\n  int *piVar7;\n  code *pcVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int extraout_v1;\n  int *piVar12;\n  int **ppiVar13;\n  uint uVar14;\n  code *pcVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  code *pcVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  int *piVar23;\n  undefined4 *puVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  int *unaff_s7;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int iVar30;\n  int iVar31;\n  undefined4 uVar32;\n  int *piStack_140;\n  uint uStack_13c;\n  code *pcStack_138;\n  int iStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_128;\n  int *piStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code *pcStack_118;\n  int *piStack_114;\n  int *piStack_110;\n  undefined4 uStack_10c;\n  int **ppiStack_f8;\n  undefined4 uStack_f4;\n  code *pcStack_f0;\n  int *piStack_e8;\n  int *piStack_e4;\n  int *piStack_dc;\n  code *pcStack_d8;\n  undefined *puStack_d4;\n  undefined4 *puStack_d0;\n  undefined4 *puStack_cc;\n  code *pcStack_c8;\n  undefined4 uStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  code *pcStack_98;\n  code *pcStack_94;\n  undefined *puStack_90;\n  undefined4 *puStack_8c;\n  undefined4 *puStack_88;\n  code *pcStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int *piStack_78;\n  code *pcStack_74;\n  code *pcStack_6c;\n  undefined8 local_60;\n  undefined4 local_50;\n  undefined4 local_3c;\n  int *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00190e24;\n  puVar25 = &local_30;\n  puVar24 = &local_34;\n  pcVar15 = (code *)&DAT_00000007;\n  local_38 = (int *)0x0;\n  pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_3c = param_2;\n  local_34 = param_2;\n  piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);\n  puVar28 = PTR_sqlite3_step_00190990;\n  piVar10 = unaff_s7;\n  if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }\nLAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }\n  pcVar8 = FUN_0014a840;\n  iVar6 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar28 + 0x4e0e0;\n  piVar7 = &iStack_a0;\n  puStack_90 = puVar22;\n  piVar26 = *(int **)(puVar28 + 0x465e4);\n  iStack_a0 = 0;\n  piStack_9c = (int *)*piVar26;\n  pcStack_98 = pcVar19;\n  pcStack_94 = param_1;\n  puStack_8c = puVar24;\n  puStack_88 = puVar25;\n  pcStack_84 = param_4;\n  piStack_80 = param_3;\n  piStack_7c = piVar10;\n  pcStack_74 = pcVar8;\n  pcStack_6c = pcVar15;\n  piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();\n  if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }\n  if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }\n  pcVar8 = *(code **)(puStack_b0 + -0x7b28);\n  uVar9 = 0x14aa90;\n  piVar12 = piStack_9c;\n  (*pcVar8)();\n  ppiStack_f8 = &piStack_e8;\n  piStack_dc = piVar20;\n  pcStack_f0 = pcVar8 + 0x4de90;\n  puStack_cc = puVar25;\n  pcVar19 = (code *)(piVar12 + 5);\n  puStack_d4 = puVar22;\n  uStack_c4 = uVar9;\n  pcStack_c8 = param_4;\n  puStack_d0 = puVar24;\n  pcStack_d8 = param_1;\n  piVar20 = *(int **)(pcVar8 + 0x46394);\n  iVar16 = *piVar7;\n  piStack_e4 = (int *)*piVar20;\n  piVar7 = piVar12;\n  pcVar15 = pcVar19;\n  iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();\n  if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }\nLAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }\n  pcVar8 = *(code **)(pcStack_f0 + -0x7b28);\n  uVar32 = 0x14ace0;\n  (*pcVar8)();\n  ppiVar13 = ppiStack_f8;\n  pcStack_138 = pcVar8 + 0x4dc40;\n  piVar23 = piVar7 + 1;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  pcStack_12c = (code *)piVar20;\n  pcStack_128 = param_1;\n  piStack_124 = piVar12;\n  pcStack_120 = (code *)puVar24;\n  pcStack_11c = pcVar19;\n  pcStack_118 = param_4;\n  piStack_114 = piVar26;\n  piStack_110 = piVar10;\n  uStack_10c = uVar32;\n  if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }\n  if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }\n  piVar7[0x15] = iVar29;\n  piStack_140 = piVar23;\n  piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);\n  if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }\n  iVar29 = piVar7[0x10];\n  piVar7[4] = (int)(piVar7 + 0xf);\n  piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);\n  piVar12 = piStack_114;\n  pcVar4 = pcStack_118;\n  pcVar8 = pcStack_11c;\n  pcVar19 = pcStack_120;\n  piVar10 = piStack_124;\n  pcVar15 = pcStack_128;\n  if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }\n  iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;\n  piStack_130 = (int *)pcStack_12c;\n  piStack_114 = piStack_110;\n  pcStack_118 = (code *)piVar12;\n  pcStack_11c = pcVar4;\n  pcStack_120 = pcVar8;\n  piStack_124 = (int *)pcVar19;\n  pcStack_128 = (code *)piVar10;\n  pcStack_12c = pcVar15;\n  piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);\n  iVar27 = piVar7[0x1a];\n  uVar17 = piVar7[0x19] + 1;\n  iVar16 = piVar7[0x1b];\n  iVar30 = iVar27 + 1;\n  iStack_134 = *piVar10;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];\n  piVar7[0x19] = uVar17;\n  piVar7[0x1a] = iVar30;\n  piStack_110 = (int *)iVar6;\n  if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }\nLAB_001487fc:\n  piVar12 = (int *)0x0;\nLAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }\n  pcVar15 = *(code **)(iVar31 + -0x7b28);\n  iVar6 = iStack_134;\n  (*pcVar15)();\n  piVar10 = ppiVar13[1];\n  if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }\n  (*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);\n  return (int *)0x0;\n}" { (declaration "code cVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int **ppiVar5;" primitive_type (pointer_declarator "**ppiVar5" * (pointer_declarator "*ppiVar5" * identifier)) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int **ppiVar13;" primitive_type (pointer_declarator "**ppiVar13" * (pointer_declarator "*ppiVar13" * identifier)) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "undefined4 uVar32;" type_identifier identifier ;) (declaration "int *piStack_140;" primitive_type (pointer_declarator "*piStack_140" * identifier) ;) (declaration "uint uStack_13c;" type_identifier identifier ;) (declaration "code *pcStack_138;" type_identifier (pointer_declarator "*pcStack_138" * identifier) ;) (declaration "int iStack_134;" primitive_type identifier ;) (declaration "int *piStack_130;" primitive_type (pointer_declarator "*piStack_130" * identifier) ;) (declaration "code *pcStack_12c;" type_identifier (pointer_declarator "*pcStack_12c" * identifier) ;) (declaration "code *pcStack_128;" type_identifier (pointer_declarator "*pcStack_128" * identifier) ;) (declaration "int *piStack_124;" primitive_type (pointer_declarator "*piStack_124" * identifier) ;) (declaration "code *pcStack_120;" type_identifier (pointer_declarator "*pcStack_120" * identifier) ;) (declaration "code *pcStack_11c;" type_identifier (pointer_declarator "*pcStack_11c" * identifier) ;) (declaration "code *pcStack_118;" type_identifier (pointer_declarator "*pcStack_118" * identifier) ;) (declaration "int *piStack_114;" primitive_type (pointer_declarator "*piStack_114" * identifier) ;) (declaration "int *piStack_110;" primitive_type (pointer_declarator "*piStack_110" * identifier) ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "int **ppiStack_f8;" primitive_type (pointer_declarator "**ppiStack_f8" * (pointer_declarator "*ppiStack_f8" * identifier)) ;) (declaration "undefined4 uStack_f4;" type_identifier identifier ;) (declaration "code *pcStack_f0;" type_identifier (pointer_declarator "*pcStack_f0" * identifier) ;) (declaration "int *piStack_e8;" primitive_type (pointer_declarator "*piStack_e8" * identifier) ;) (declaration "int *piStack_e4;" primitive_type (pointer_declarator "*piStack_e4" * identifier) ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "code *pcStack_d8;" type_identifier (pointer_declarator "*pcStack_d8" * identifier) ;) (declaration "undefined *puStack_d4;" type_identifier (pointer_declarator "*puStack_d4" * identifier) ;) (declaration "undefined4 *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "undefined4 *puStack_cc;" type_identifier (pointer_declarator "*puStack_cc" * identifier) ;) (declaration "code *pcStack_c8;" type_identifier (pointer_declarator "*pcStack_c8" * identifier) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "undefined *puStack_b0;" type_identifier (pointer_declarator "*puStack_b0" * identifier) ;) (declaration "code *pcStack_a4;" type_identifier (pointer_declarator "*pcStack_a4" * identifier) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "int *piStack_9c;" primitive_type (pointer_declarator "*piStack_9c" * identifier) ;) (declaration "code *pcStack_98;" type_identifier (pointer_declarator "*pcStack_98" * identifier) ;) (declaration "code *pcStack_94;" type_identifier (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "undefined *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "undefined4 *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "undefined4 *puStack_88;" type_identifier (pointer_declarator "*puStack_88" * identifier) ;) (declaration "code *pcStack_84;" type_identifier (pointer_declarator "*pcStack_84" * identifier) ;) (declaration "int *piStack_80;" primitive_type (pointer_declarator "*piStack_80" * identifier) ;) (declaration "int *piStack_7c;" primitive_type (pointer_declarator "*piStack_7c" * identifier) ;) (declaration "int *piStack_78;" primitive_type (pointer_declarator "*piStack_78" * identifier) ;) (declaration "code *pcStack_74;" type_identifier (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "code *pcStack_6c;" type_identifier (pointer_declarator "*pcStack_6c" * identifier) ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "int *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar22 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar22 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar25 = &local_30;" (assignment_expression "puVar25 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "puVar24 = &local_34;" (assignment_expression "puVar24 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "pcVar15 = (code *)&DAT_00000007;" (assignment_expression "pcVar15 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "local_38 = (int *)0x0;" (assignment_expression "local_38 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);" (assignment_expression "pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8)" identifier = (cast_expression "(code *)(PTR_LAB_00190c64 + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c64 + 0x10f8)" ( (binary_expression "PTR_LAB_00190c64 + 0x10f8" identifier + number_literal) )))) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_3c = param_2;" (assignment_expression "local_3c = param_2" identifier = identifier) ;) (expression_statement "local_34 = param_2;" (assignment_expression "local_34 = param_2" identifier = identifier) ;) (expression_statement "piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);" (assignment_expression "piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24)" identifier = (cast_expression "(int *)(*pcVar19)(param_1,7,puVar25,puVar24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar19)(param_1,7,puVar25,puVar24)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(param_1,7,puVar25,puVar24)" ( identifier , number_literal , identifier , identifier ))))) ;) (expression_statement "puVar28 = PTR_sqlite3_step_00190990;" (assignment_expression "puVar28 = PTR_sqlite3_step_00190990" identifier = identifier) ;) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" identifier = identifier) ;) (if_statement "if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }" if (parenthesized_expression "(piStack_78 == (int *)0x0)" ( (binary_expression "piStack_78 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }" { (expression_statement "iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_00190990)(local_30)" (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_30)" ( identifier )))) ;) (if_statement "if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }" if (parenthesized_expression "(iVar6 == 100)" ( (binary_expression "iVar6 == 100" identifier == number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }" { (if_statement "if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x2c) == 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) == 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        local_50 = 0;\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }" else (compound_statement "{\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }" { (expression_statement "local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;" (assignment_expression "local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_00190a4c" * (cast_expression "(code *)PTR_sqlite3_column_int_00190a4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30,*(int *)(param_1 + 0x18) + 1)" ( identifier , (binary_expression "*(int *)(param_1 + 0x18) + 1" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);" (assignment_expression "local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int64_001909a4)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int64_001909a4" * (cast_expression "(code *)PTR_sqlite3_column_int64_001909a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30,0)" ( identifier , number_literal )))) ;) (expression_statement "pcVar15 = (code *)0x1;" (assignment_expression "pcVar15 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);" (assignment_expression "piVar7 = (int *)FUN_0014a33c(param_1,1,local_50)" identifier = (cast_expression "(int *)FUN_0014a33c(param_1,1,local_50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014a33c(param_1,1,local_50)" identifier (argument_list "(param_1,1,local_50)" ( identifier , number_literal , identifier ))))) ;) (expression_statement "puVar3 = PTR_sqlite3_column_text_001909a8;" (assignment_expression "puVar3 = PTR_sqlite3_column_text_001909a8" identifier = identifier) ;) (expression_statement "puVar2 = PTR_sqlite3_column_bytes_0019099c;" (assignment_expression "puVar2 = PTR_sqlite3_column_bytes_0019099c" identifier = identifier) ;) (if_statement "if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }" { (expression_statement "piVar12 = (int *)0x1;" (assignment_expression "piVar12 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);" (assignment_expression "pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + -0x483c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + -0x483c)" ( (binary_expression "PTR_LAB_00190bc0 + -0x483c" identifier + number_literal) )))) ;) (do_statement "do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);" do (compound_statement "{\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        }" { (expression_statement "piVar10 = (int *)PTR_sqlite3_reset_00190a5c;" (assignment_expression "piVar10 = (int *)PTR_sqlite3_reset_00190a5c" identifier = (cast_expression "(int *)PTR_sqlite3_reset_00190a5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }" if (parenthesized_expression "(*(int *)(param_1 + 0x18) < (int)piVar12)" ( (binary_expression "*(int *)(param_1 + 0x18) < (int)piVar12" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) < (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }" { (labeled_statement "LAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" statement_identifier : (expression_statement "local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (assignment_expression "local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" ( identifier ))))) ;)) (expression_statement "piStack_78 = local_38;" (assignment_expression "piStack_78 = local_38" identifier = identifier) ;) (if_statement "if (local_38 != (int *)0x0) goto LAB_0014a65c;" if (parenthesized_expression "(local_38 != (int *)0x0)" ( (binary_expression "local_38 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }" if (parenthesized_expression "(*(int *)(param_1 + 0x28) == 0)" ( (binary_expression "*(int *)(param_1 + 0x28) == 0" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }" { (expression_statement "pcVar15 = (code *)0x1;" (assignment_expression "pcVar15 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);" (assignment_expression "piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24)" identifier = (cast_expression "(int *)(*pcVar19)(param_1,1,puVar25,puVar24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar19)(param_1,1,puVar25,puVar24)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(param_1,1,puVar25,puVar24)" ( identifier , number_literal , identifier , identifier ))))) ;) (if_statement "if (piStack_78 != (int *)0x0) goto LAB_0014a65c;" if (parenthesized_expression "(piStack_78 != (int *)0x0)" ( (binary_expression "piStack_78 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) (expression_statement "iVar6 = (*(code *)puVar28)(local_30);" (assignment_expression "iVar6 = (*(code *)puVar28)(local_30)" identifier = (call_expression "(*(code *)puVar28)(local_30)" (parenthesized_expression "(*(code *)puVar28)" ( (pointer_expression "*(code *)puVar28" * (cast_expression "(code *)puVar28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (if_statement "if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }" if (parenthesized_expression "(iVar6 == 100)" ( (binary_expression "iVar6 == 100" identifier == number_literal) )) (compound_statement "{\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }" { (expression_statement "pcVar15 = (code *)0x0;" (assignment_expression "pcVar15 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);" (assignment_expression "pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30)" identifier = (cast_expression "(code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_00190a4c" * (cast_expression "(code *)PTR_sqlite3_column_int_00190a4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier ))))) ;) (expression_statement "piStack_78 = (int *)(*(code *)piVar10)(local_30);" (assignment_expression "piStack_78 = (int *)(*(code *)piVar10)(local_30)" identifier = (cast_expression "(int *)(*(code *)piVar10)(local_30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piVar10)(local_30)" (parenthesized_expression "(*(code *)piVar10)" ( (pointer_expression "*(code *)piVar10" * (cast_expression "(code *)piVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier ))))) ;) (expression_statement "local_38 = piStack_78;" (assignment_expression "local_38 = piStack_78" identifier = identifier) ;) (if_statement "if (piStack_78 != (int *)0x0) goto LAB_0014a65c;" if (parenthesized_expression "(piStack_78 != (int *)0x0)" ( (binary_expression "piStack_78 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) (if_statement "if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }" if (parenthesized_expression "(pcVar19 != (code *)0x0)" ( (binary_expression "pcVar19 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }" { (expression_statement "piStack_78 = (int *)FUN_0012dd5c(param_1,1);" (assignment_expression "piStack_78 = (int *)FUN_0012dd5c(param_1,1)" identifier = (cast_expression "(int *)FUN_0012dd5c(param_1,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0012dd5c(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar15 = (code *)0x0;" (assignment_expression "pcVar15 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "(*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);" (call_expression "(*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8)" ( identifier , number_literal , (binary_expression "(*(int *)(param_1 + 0x18) + 1) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x18) + 1)" ( (binary_expression "*(int *)(param_1 + 0x18) + 1" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) )) * number_literal) ))) ;) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;) })) }) (else_clause "else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }" else (compound_statement "{\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }" { (expression_statement "piStack_78 = (int *)(*(code *)piVar10)();" (assignment_expression "piStack_78 = (int *)(*(code *)piVar10)()" identifier = (cast_expression "(int *)(*(code *)piVar10)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piVar10)()" (parenthesized_expression "(*(code *)piVar10)" ( (pointer_expression "*(code *)piVar10" * (cast_expression "(code *)piVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "local_38 = piStack_78;" (assignment_expression "local_38 = piStack_78" identifier = identifier) ;) (if_statement "if (piStack_78 != (int *)0x0) goto LAB_0014a65c;" if (parenthesized_expression "(piStack_78 != (int *)0x0)" ( (binary_expression "piStack_78 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) }))) })) (expression_statement "*param_3 = *param_3 + -1;" (assignment_expression "*param_3 = *param_3 + -1" (pointer_expression "*param_3" * identifier) = (binary_expression "*param_3 + -1" (pointer_expression "*param_3" * identifier) + number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }" if (parenthesized_expression "(*(int *)(param_1 + 0x28) == 0)" ( (binary_expression "*(int *)(param_1 + 0x28) == 0" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }" { (expression_statement "pcVar15 = param_1;" (assignment_expression "pcVar15 = param_1" identifier = identifier) ;) (expression_statement "FUN_0012dcb0(&local_38,param_1,0,&local_3c);" (call_expression "FUN_0012dcb0(&local_38,param_1,0,&local_3c)" identifier (argument_list "(&local_38,param_1,0,&local_3c)" ( (pointer_expression "&local_38" & identifier) , identifier , number_literal , (pointer_expression "&local_3c" & identifier) ))) ;) })) (expression_statement "piStack_78 = local_38;" (assignment_expression "piStack_78 = local_38" identifier = identifier) ;) (if_statement "if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }" if (parenthesized_expression "((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0))" ( (binary_expression "(param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)" (parenthesized_expression "(param_1[0xea] != (code)0x0)" ( (binary_expression "param_1[0xea] != (code)0x0" (subscript_expression "param_1[0xea]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "(local_38 == (int *)0x0)" ( (binary_expression "local_38 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }" { (expression_statement "pcVar15 = param_1;" (assignment_expression "pcVar15 = param_1" identifier = identifier) ;) (expression_statement "FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);" (call_expression "FUN_0012dcb0(&local_38,param_1,0x13,&local_3c)" identifier (argument_list "(&local_38,param_1,0x13,&local_3c)" ( (pointer_expression "&local_38" & identifier) , identifier , number_literal , (pointer_expression "&local_3c" & identifier) ))) ;) (expression_statement "piStack_78 = local_38;" (assignment_expression "piStack_78 = local_38" identifier = identifier) ;) })) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;) })) (expression_statement "pcVar15 = *(code **)(param_1 + 0x20);" (assignment_expression "pcVar15 = *(code **)(param_1 + 0x20)" identifier = (pointer_expression "*(code **)(param_1 + 0x20)" * (cast_expression "(code **)(param_1 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "cVar1 = pcVar15[(int)piVar12 + -1];" (assignment_expression "cVar1 = pcVar15[(int)piVar12 + -1]" identifier = (subscript_expression "pcVar15[(int)piVar12 + -1]" identifier [ (binary_expression "(int)piVar12 + -1" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "piVar7 = (int *)((int)piVar12 + -1);" (assignment_expression "piVar7 = (int *)((int)piVar12 + -1)" identifier = (cast_expression "(int *)((int)piVar12 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + -1)" ( (binary_expression "(int)piVar12 + -1" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s7 = piVar12;" (assignment_expression "unaff_s7 = piVar12" identifier = identifier) ;) (while_statement "while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }" while (parenthesized_expression "(cVar1 != (code)0x0)" ( (binary_expression "cVar1 != (code)0x0" identifier != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }" { (expression_statement "piVar12 = (int *)((int)unaff_s7 + 1);" (assignment_expression "piVar12 = (int *)((int)unaff_s7 + 1)" identifier = (cast_expression "(int *)((int)unaff_s7 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 1)" ( (binary_expression "(int)unaff_s7 + 1" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;" if (parenthesized_expression "(*(int *)(param_1 + 0x18) < (int)piVar12)" ( (binary_expression "*(int *)(param_1 + 0x18) < (int)piVar12" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) < (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0014a6b4;" goto statement_identifier ;)) (expression_statement "piVar7 = unaff_s7;" (assignment_expression "piVar7 = unaff_s7" identifier = identifier) ;) (expression_statement "unaff_s7 = piVar12;" (assignment_expression "unaff_s7 = piVar12" identifier = identifier) ;) (expression_statement "cVar1 = (pcVar15 + (int)piVar12)[-1];" (assignment_expression "cVar1 = (pcVar15 + (int)piVar12)[-1]" identifier = (subscript_expression "(pcVar15 + (int)piVar12)[-1]" (parenthesized_expression "(pcVar15 + (int)piVar12)" ( (binary_expression "pcVar15 + (int)piVar12" identifier + (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) [ number_literal ])) ;) })) (expression_statement "uVar9 = (*(code *)puVar3)(local_30,unaff_s7);" (assignment_expression "uVar9 = (*(code *)puVar3)(local_30,unaff_s7)" identifier = (call_expression "(*(code *)puVar3)(local_30,unaff_s7)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30,unaff_s7)" ( identifier , identifier )))) ;) (expression_statement "local_60._0_4_ = param_4 + (int)piVar7 * 4;" (assignment_expression "local_60._0_4_ = param_4 + (int)piVar7 * 4" (field_expression "local_60._0_4_" identifier . field_identifier) = (binary_expression "param_4 + (int)piVar7 * 4" identifier + (binary_expression "(int)piVar7 * 4" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);" (assignment_expression "piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff)" identifier = (cast_expression "(int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar8)(param_1,local_50,uVar9,0xffffffff)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(param_1,local_50,uVar9,0xffffffff)" ( identifier , identifier , identifier , number_literal ))))) ;) (expression_statement "iVar6 = (*(code *)puVar2)(local_30,unaff_s7);" (assignment_expression "iVar6 = (*(code *)puVar2)(local_30,unaff_s7)" identifier = (call_expression "(*(code *)puVar2)(local_30,unaff_s7)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30,unaff_s7)" ( identifier , identifier )))) ;) (expression_statement "piVar12 = (int *)((int)unaff_s7 + 1);" (assignment_expression "piVar12 = (int *)((int)unaff_s7 + 1)" identifier = (cast_expression "(int *)((int)unaff_s7 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 1)" ( (binary_expression "(int)unaff_s7 + 1" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;" (assignment_expression "pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4" identifier = (binary_expression "param_4 + *(int *)(param_1 + 0x18) * 4" identifier + (binary_expression "*(int *)(param_1 + 0x18) * 4" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)pcVar15 = *(int *)pcVar15 + iVar6;" (assignment_expression "*(int *)pcVar15 = *(int *)pcVar15 + iVar6" (pointer_expression "*(int *)pcVar15" * (cast_expression "(int *)pcVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)pcVar15 + iVar6" (pointer_expression "*(int *)pcVar15" * (cast_expression "(int *)pcVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier)) ;) }) while (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" ( identifier ))) ;) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" identifier = identifier) ;) (expression_statement "piStack_78 = piVar7;" (assignment_expression "piStack_78 = piVar7" identifier = identifier) ;) }) (else_clause "else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }" else (compound_statement "{\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }" { (expression_statement "piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (assignment_expression "piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" ( identifier ))))) ;) }))) }) (else_clause "else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }" else (compound_statement "{\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }" { (expression_statement "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" ( identifier ))) ;) }))) (labeled_statement "LAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar22)" ( (binary_expression "local_2c == *(int *)puVar22" identifier == (pointer_expression "*(int *)puVar22" * (cast_expression "(int *)puVar22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return piStack_78;\n  }" { (return_statement "return piStack_78;" return identifier ;) }))) (expression_statement "pcVar8 = FUN_0014a840;" (assignment_expression "pcVar8 = FUN_0014a840" identifier = identifier) ;) (expression_statement "iVar6 = local_2c;" (assignment_expression "iVar6 = local_2c" identifier = identifier) ;) (expression_statement "puVar28 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar28 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_b0 = puVar28 + 0x4e0e0;" (assignment_expression "puStack_b0 = puVar28 + 0x4e0e0" identifier = (binary_expression "puVar28 + 0x4e0e0" identifier + number_literal)) ;) (expression_statement "piVar7 = &iStack_a0;" (assignment_expression "piVar7 = &iStack_a0" identifier = (pointer_expression "&iStack_a0" & identifier)) ;) (expression_statement "puStack_90 = puVar22;" (assignment_expression "puStack_90 = puVar22" identifier = identifier) ;) (expression_statement "piVar26 = *(int **)(puVar28 + 0x465e4);" (assignment_expression "piVar26 = *(int **)(puVar28 + 0x465e4)" identifier = (pointer_expression "*(int **)(puVar28 + 0x465e4)" * (cast_expression "(int **)(puVar28 + 0x465e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x465e4)" ( (binary_expression "puVar28 + 0x465e4" identifier + number_literal) ))))) ;) (expression_statement "iStack_a0 = 0;" (assignment_expression "iStack_a0 = 0" identifier = number_literal) ;) (expression_statement "piStack_9c = (int *)*piVar26;" (assignment_expression "piStack_9c = (int *)*piVar26" identifier = (cast_expression "(int *)*piVar26" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier))) ;) (expression_statement "pcStack_98 = pcVar19;" (assignment_expression "pcStack_98 = pcVar19" identifier = identifier) ;) (expression_statement "pcStack_94 = param_1;" (assignment_expression "pcStack_94 = param_1" identifier = identifier) ;) (expression_statement "puStack_8c = puVar24;" (assignment_expression "puStack_8c = puVar24" identifier = identifier) ;) (expression_statement "puStack_88 = puVar25;" (assignment_expression "puStack_88 = puVar25" identifier = identifier) ;) (expression_statement "pcStack_84 = param_4;" (assignment_expression "pcStack_84 = param_4" identifier = identifier) ;) (expression_statement "piStack_80 = param_3;" (assignment_expression "piStack_80 = param_3" identifier = identifier) ;) (expression_statement "piStack_7c = piVar10;" (assignment_expression "piStack_7c = piVar10" identifier = identifier) ;) (expression_statement "pcStack_74 = pcVar8;" (assignment_expression "pcStack_74 = pcVar8" identifier = identifier) ;) (expression_statement "pcStack_6c = pcVar15;" (assignment_expression "pcStack_6c = pcVar15" identifier = identifier) ;) (expression_statement "piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();" (assignment_expression "piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))()" identifier = (cast_expression "(int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))()" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))" ( (pointer_expression "*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8)" * (cast_expression "(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar28 + 0x46424) + 0x10f8)" ( (binary_expression "*(int *)(puVar28 + 0x46424) + 0x10f8" (pointer_expression "*(int *)(puVar28 + 0x46424)" * (cast_expression "(int *)(puVar28 + 0x46424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x46424)" ( (binary_expression "puVar28 + 0x46424" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }" { (expression_statement "pcVar15 = *(code **)(puStack_b0 + -0x7e90);" (assignment_expression "pcVar15 = *(code **)(puStack_b0 + -0x7e90)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7e90)" * (cast_expression "(code **)(puStack_b0 + -0x7e90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7e90)" ( (binary_expression "puStack_b0 + -0x7e90" identifier + number_literal) ))))) ;) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);" (assignment_expression "pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7ed4)" * (cast_expression "(code **)(puStack_b0 + -0x7ed4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ed4)" ( (binary_expression "puStack_b0 + -0x7ed4" identifier + number_literal) ))))) ;) (expression_statement "param_4 = *(code **)(puStack_b0 + -0x7f90);" (assignment_expression "param_4 = *(code **)(puStack_b0 + -0x7f90)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7f90)" * (cast_expression "(code **)(puStack_b0 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7f90)" ( (binary_expression "puStack_b0 + -0x7f90" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);" (call_expression "(*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f)" ( identifier , number_literal , (binary_expression "*(int *)(iVar6 + 0x118) >> 0x1f" (pointer_expression "*(int *)(iVar6 + 0x118)" * (cast_expression "(int *)(iVar6 + 0x118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x118)" ( (binary_expression "iVar6 + 0x118" identifier + number_literal) )))) >> number_literal) ))) ;) (expression_statement "piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);" (assignment_expression "piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f)" identifier = (cast_expression "(int *)(*(int *)(iVar6 + 0xfc) >> 0x1f)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar6 + 0xfc) >> 0x1f)" ( (binary_expression "*(int *)(iVar6 + 0xfc) >> 0x1f" (pointer_expression "*(int *)(iVar6 + 0xfc)" * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "(*pcVar15)(iStack_a0,2);" (call_expression "(*pcVar15)(iStack_a0,2)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(iStack_a0,2)" ( identifier , number_literal ))) ;) (expression_statement "puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);" (assignment_expression "puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" identifier = (cast_expression "(undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" ( (binary_expression "*(int *)(puStack_b0 + -0x7d6c) + -0x7224" (pointer_expression "*(int *)(puStack_b0 + -0x7d6c)" * (cast_expression "(int *)(puStack_b0 + -0x7d6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b0 + -0x7d6c)" ( (binary_expression "puStack_b0 + -0x7d6c" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;" statement_identifier : (expression_statement "puVar25 = (undefined4 *)&DAT_00000064;" (assignment_expression "puVar25 = (undefined4 *)&DAT_00000064" identifier = (cast_expression "(undefined4 *)&DAT_00000064" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000064" & identifier))) ;)) (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar29 = (*param_4)(iStack_a0);" (assignment_expression "iVar29 = (*param_4)(iStack_a0)" identifier = (call_expression "(*param_4)(iStack_a0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(iStack_a0)" ( identifier )))) ;) (while_statement "while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }" while (parenthesized_expression "(iVar29 == 100)" ( (binary_expression "iVar29 == 100" identifier == number_literal) )) (compound_statement "{\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }" { (expression_statement "param_1 = (code *)0x65;" (assignment_expression "param_1 = (code *)0x65" identifier = (cast_expression "(code *)0x65" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar9 = (*pcStack_a4)(iStack_a0,0);" (assignment_expression "uVar9 = (*pcStack_a4)(iStack_a0,0)" identifier = (call_expression "(*pcStack_a4)(iStack_a0,0)" (parenthesized_expression "(*pcStack_a4)" ( (pointer_expression "*pcStack_a4" * identifier) )) (argument_list "(iStack_a0,0)" ( identifier , number_literal )))) ;) (expression_statement "piVar12 = piVar10;" (assignment_expression "piVar12 = piVar10" identifier = identifier) ;) (while_statement "while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }" while (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }" { (if_statement "if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;" if (parenthesized_expression "(*(int *)(iVar6 + 0xfc) <= (int)piVar12)" ( (binary_expression "*(int *)(iVar6 + 0xfc) <= (int)piVar12" (pointer_expression "*(int *)(iVar6 + 0xfc)" * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) )))) <= (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0014a978;" goto statement_identifier ;)) (while_statement "while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }" { (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);" (assignment_expression "piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe)" identifier = (cast_expression "(int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe)" identifier (argument_list "(iVar6,uVar9,piVar12,0xfffffffe)" ( identifier , identifier , identifier , number_literal ))))) ;) (expression_statement "piVar12 = (int *)((int)piVar12 + 1);" (assignment_expression "piVar12 = (int *)((int)piVar12 + 1)" identifier = (cast_expression "(int *)((int)piVar12 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 1)" ( (binary_expression "(int)piVar12 + 1" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar10 != (int *)0x65) break;" if (parenthesized_expression "(piVar10 != (int *)0x65)" ( (binary_expression "piVar10 != (int *)0x65" identifier != (cast_expression "(int *)0x65" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;" if (parenthesized_expression "(*(int *)(iVar6 + 0xfc) <= (int)piVar12)" ( (binary_expression "*(int *)(iVar6 + 0xfc) <= (int)piVar12" (pointer_expression "*(int *)(iVar6 + 0xfc)" * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) )))) <= (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0014a978;" goto statement_identifier ;)) })) })) (expression_statement "iVar29 = (*param_4)(iStack_a0);" (assignment_expression "iVar29 = (*param_4)(iStack_a0)" identifier = (call_expression "(*param_4)(iStack_a0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(iStack_a0)" ( identifier )))) ;) })) (expression_statement "piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();" (assignment_expression "piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))()" identifier = (cast_expression "(int *)(**(code **)(puStack_b0 + -0x7ec4))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_b0 + -0x7ec4))()" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ec4))" ( (pointer_expression "**(code **)(puStack_b0 + -0x7ec4)" * (pointer_expression "*(code **)(puStack_b0 + -0x7ec4)" * (cast_expression "(code **)(puStack_b0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ec4)" ( (binary_expression "puStack_b0 + -0x7ec4" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "piVar12 = piVar10;" (assignment_expression "piVar12 = piVar10" identifier = identifier) ;) (if_statement "if (piVar10 != (int *)0x0) goto LAB_0014a8bc;" if (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a8bc;" goto statement_identifier ;)) (expression_statement "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));" (call_expression "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8))" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ccc))" ( (pointer_expression "**(code **)(puStack_b0 + -0x7ccc)" * (pointer_expression "*(code **)(puStack_b0 + -0x7ccc)" * (cast_expression "(code **)(puStack_b0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ccc)" ( (binary_expression "puStack_b0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 0xf8))" ( (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" * (cast_expression "(undefined4 *)(iVar6 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xf8)" ( (binary_expression "iVar6 + 0xf8" identifier + number_literal) )))) ))) ;) (expression_statement "iVar29 = *(int *)(puStack_b0 + -0x7d78);" (assignment_expression "iVar29 = *(int *)(puStack_b0 + -0x7d78)" identifier = (pointer_expression "*(int *)(puStack_b0 + -0x7d78)" * (cast_expression "(int *)(puStack_b0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b0 + -0x7d78)" ( (binary_expression "puStack_b0 + -0x7d78" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xf8) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0xf8) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" * (cast_expression "(undefined4 *)(iVar6 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xf8)" ( (binary_expression "iVar6 + 0xf8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)(iVar29 + -0x550))(iVar6);" (call_expression "(*(code *)(iVar29 + -0x550))(iVar6)" (parenthesized_expression "(*(code *)(iVar29 + -0x550))" ( (pointer_expression "*(code *)(iVar29 + -0x550)" * (cast_expression "(code *)(iVar29 + -0x550)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x550)" ( (binary_expression "iVar29 + -0x550" identifier + number_literal) )))) )) (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }" if (parenthesized_expression "(((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0))" ( (binary_expression "((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)" (parenthesized_expression "((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0))" ( (binary_expression "(piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)" (parenthesized_expression "(piVar20 == (int *)0x0)" ( (binary_expression "piVar20 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcStack_6c != (code *)0x0)" ( (binary_expression "pcStack_6c != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)" ( (comma_expression "piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0" (assignment_expression "piVar20 = (int *)0x65" identifier = (cast_expression "(int *)0x65" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "puVar24 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      piVar20 = (int *)0x0;\n    }" { (expression_statement "piVar20 = (int *)0x0;" (assignment_expression "piVar20 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }" else (compound_statement "{\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }" { (labeled_statement "LAB_0014a8bc:\n    piVar20 = piVar12;" statement_identifier : (expression_statement "piVar20 = piVar12;" (assignment_expression "piVar20 = piVar12" identifier = identifier) ;)) (expression_statement "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));" (call_expression "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8))" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ccc))" ( (pointer_expression "**(code **)(puStack_b0 + -0x7ccc)" * (pointer_expression "*(code **)(puStack_b0 + -0x7ccc)" * (cast_expression "(code **)(puStack_b0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ccc)" ( (binary_expression "puStack_b0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 0xf8))" ( (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" * (cast_expression "(undefined4 *)(iVar6 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xf8)" ( (binary_expression "iVar6 + 0xf8" identifier + number_literal) )))) ))) ;) (expression_statement "iVar29 = *(int *)(puStack_b0 + -0x7d78);" (assignment_expression "iVar29 = *(int *)(puStack_b0 + -0x7d78)" identifier = (pointer_expression "*(int *)(puStack_b0 + -0x7d78)" * (cast_expression "(int *)(puStack_b0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b0 + -0x7d78)" ( (binary_expression "puStack_b0 + -0x7d78" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xf8) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0xf8) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" * (cast_expression "(undefined4 *)(iVar6 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xf8)" ( (binary_expression "iVar6 + 0xf8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)(iVar29 + -0x550))(iVar6);" (call_expression "(*(code *)(iVar29 + -0x550))(iVar6)" (parenthesized_expression "(*(code *)(iVar29 + -0x550))" ( (pointer_expression "*(code *)(iVar29 + -0x550)" * (cast_expression "(code *)(iVar29 + -0x550)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x550)" ( (binary_expression "iVar29 + -0x550" identifier + number_literal) )))) )) (argument_list "(iVar6)" ( identifier ))) ;) }))) (if_statement "if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }" if (parenthesized_expression "(piStack_9c == (int *)*piVar26)" ( (binary_expression "piStack_9c == (int *)*piVar26" identifier == (cast_expression "(int *)*piVar26" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier))) )) (compound_statement "{\n    return piVar20;\n  }" { (return_statement "return piVar20;" return identifier ;) })) (expression_statement "pcVar8 = *(code **)(puStack_b0 + -0x7b28);" (assignment_expression "pcVar8 = *(code **)(puStack_b0 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7b28)" * (cast_expression "(code **)(puStack_b0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7b28)" ( (binary_expression "puStack_b0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = 0x14aa90;" (assignment_expression "uVar9 = 0x14aa90" identifier = number_literal) ;) (expression_statement "piVar12 = piStack_9c;" (assignment_expression "piVar12 = piStack_9c" identifier = identifier) ;) (expression_statement "(*pcVar8)();" (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppiStack_f8 = &piStack_e8;" (assignment_expression "ppiStack_f8 = &piStack_e8" identifier = (pointer_expression "&piStack_e8" & identifier)) ;) (expression_statement "piStack_dc = piVar20;" (assignment_expression "piStack_dc = piVar20" identifier = identifier) ;) (expression_statement "pcStack_f0 = pcVar8 + 0x4de90;" (assignment_expression "pcStack_f0 = pcVar8 + 0x4de90" identifier = (binary_expression "pcVar8 + 0x4de90" identifier + number_literal)) ;) (expression_statement "puStack_cc = puVar25;" (assignment_expression "puStack_cc = puVar25" identifier = identifier) ;) (expression_statement "pcVar19 = (code *)(piVar12 + 5);" (assignment_expression "pcVar19 = (code *)(piVar12 + 5)" identifier = (cast_expression "(code *)(piVar12 + 5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 5)" ( (binary_expression "piVar12 + 5" identifier + number_literal) )))) ;) (expression_statement "puStack_d4 = puVar22;" (assignment_expression "puStack_d4 = puVar22" identifier = identifier) ;) (expression_statement "uStack_c4 = uVar9;" (assignment_expression "uStack_c4 = uVar9" identifier = identifier) ;) (expression_statement "pcStack_c8 = param_4;" (assignment_expression "pcStack_c8 = param_4" identifier = identifier) ;) (expression_statement "puStack_d0 = puVar24;" (assignment_expression "puStack_d0 = puVar24" identifier = identifier) ;) (expression_statement "pcStack_d8 = param_1;" (assignment_expression "pcStack_d8 = param_1" identifier = identifier) ;) (expression_statement "piVar20 = *(int **)(pcVar8 + 0x46394);" (assignment_expression "piVar20 = *(int **)(pcVar8 + 0x46394)" identifier = (pointer_expression "*(int **)(pcVar8 + 0x46394)" * (cast_expression "(int **)(pcVar8 + 0x46394)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x46394)" ( (binary_expression "pcVar8 + 0x46394" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *piVar7;" (assignment_expression "iVar16 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "piStack_e4 = (int *)*piVar20;" (assignment_expression "piStack_e4 = (int *)*piVar20" identifier = (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "pcVar15 = pcVar19;" (assignment_expression "pcVar15 = pcVar19" identifier = identifier) ;) (expression_statement "iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();" (assignment_expression "iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))()" identifier = (call_expression "(*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))" ( (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c)" * (cast_expression "(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar8 + 0x4613c) + -0x2a6c)" ( (binary_expression "*(int *)(pcVar8 + 0x4613c) + -0x2a6c" (pointer_expression "*(int *)(pcVar8 + 0x4613c)" * (cast_expression "(int *)(pcVar8 + 0x4613c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x4613c)" ( (binary_expression "pcVar8 + 0x4613c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "param_4 = *(code **)(pcStack_f0 + -0x7ed8);" (assignment_expression "param_4 = *(code **)(pcStack_f0 + -0x7ed8)" identifier = (pointer_expression "*(code **)(pcStack_f0 + -0x7ed8)" * (cast_expression "(code **)(pcStack_f0 + -0x7ed8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7ed8)" ( (binary_expression "pcStack_f0 + -0x7ed8" identifier + number_literal) ))))) ;) (expression_statement "puVar24 = (undefined4 *)*piStack_e8;" (assignment_expression "puVar24 = (undefined4 *)*piStack_e8" identifier = (cast_expression "(undefined4 *)*piStack_e8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStack_e8" * identifier))) ;) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);" (assignment_expression "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" identifier = (cast_expression "(code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" ( (subscript_expression "puVar24[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd30" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (param_1 != (code *)0x0) goto LAB_0014ab6c;" if (parenthesized_expression "(param_1 != (code *)0x0)" ( (binary_expression "param_1 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014ab6c;" goto statement_identifier ;)) (expression_statement "param_1 = (code *)FUN_0014a840(puVar24,1);" (assignment_expression "param_1 = (code *)FUN_0014a840(puVar24,1)" identifier = (cast_expression "(code *)FUN_0014a840(puVar24,1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014a840(puVar24,1)" identifier (argument_list "(puVar24,1)" ( identifier , number_literal ))))) ;) (if_statement "if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }" if (parenthesized_expression "(param_1 == (code *)0x0)" ( (binary_expression "param_1 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);" (assignment_expression "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" identifier = (cast_expression "(code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" ( (subscript_expression "puVar24[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd54" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (param_1 != (code *)0x0) goto LAB_0014ab6c;" if (parenthesized_expression "(param_1 != (code *)0x0)" ( (binary_expression "param_1 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014ab6c;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" (call_expression "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e])" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7ccc))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7ccc)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7ccc)" * (cast_expression "(code **)(pcStack_f0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7ccc)" ( (binary_expression "pcStack_f0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(puVar24[0x3e])" ( (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar24[0x3e] = 0;" (assignment_expression "puVar24[0x3e] = 0" (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;" statement_identifier : (expression_statement "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;" (assignment_expression "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64" identifier = (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd64" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;)) }) (else_clause "else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }" else (compound_statement "{\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }" if (parenthesized_expression "(param_1 == (code *)0x65)" ( (binary_expression "param_1 == (code *)0x65" identifier == (cast_expression "(code *)0x65" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }" { (expression_statement "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);" (assignment_expression "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" identifier = (cast_expression "(code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" ( (subscript_expression "puVar24[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd54" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (param_1 != (code *)0x0) goto LAB_0014ab6c;" if (parenthesized_expression "(param_1 != (code *)0x0)" ( (binary_expression "param_1 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014ab6c;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" (call_expression "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e])" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7ccc))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7ccc)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7ccc)" * (cast_expression "(code **)(pcStack_f0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7ccc)" ( (binary_expression "pcStack_f0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(puVar24[0x3e])" ( (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar24[0x3e] = 0;" (assignment_expression "puVar24[0x3e] = 0" (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }" else (compound_statement "{\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }" { (expression_statement "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);" (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40)" ( (subscript_expression "puVar24[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd40" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);" (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" ( (subscript_expression "puVar24[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd54" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (labeled_statement "LAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" statement_identifier : (expression_statement "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" (call_expression "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e])" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7ccc))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7ccc)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7ccc)" * (cast_expression "(code **)(pcStack_f0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7ccc)" ( (binary_expression "pcStack_f0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(puVar24[0x3e])" ( (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) ))) ;)) (expression_statement "puVar24[0x3e] = 0;" (assignment_expression "puVar24[0x3e] = 0" (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_1 == (code *)0x0) goto LAB_0014abe4;" if (parenthesized_expression "(param_1 == (code *)0x0)" ( (binary_expression "param_1 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014abe4;" goto statement_identifier ;)) (if_statement "if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }" if (parenthesized_expression "(param_1 != (code *)0x65)" ( (binary_expression "param_1 != (code *)0x65" identifier != (cast_expression "(code *)0x65" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }" { (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "pcVar15 = param_1;" (assignment_expression "pcVar15 = param_1" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_f0 + -0x7f4c))();" (call_expression "(**(code **)(pcStack_f0 + -0x7f4c))()" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7f4c))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7f4c)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7f4c)" * (cast_expression "(code **)(pcStack_f0 + -0x7f4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7f4c)" ( (binary_expression "pcStack_f0 + -0x7f4c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0014ab04;" goto statement_identifier ;) })) }))) (expression_statement "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;" (assignment_expression "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74" identifier = (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd74" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "uStack_f4 = 0;" (assignment_expression "uStack_f4 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = -1;" (assignment_expression "iVar16 = -1" identifier = number_literal) ;) (expression_statement "ppiStack_f8 = (int **)0x1;" (assignment_expression "ppiStack_f8 = (int **)0x1" identifier = (cast_expression "(int **)0x1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "pcVar15 = pcVar19;" (assignment_expression "pcVar15 = pcVar19" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);" (call_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))" ( (pointer_expression "*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0)" * (cast_expression "(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7d60) + -0x13c0" (pointer_expression "*(int *)(pcStack_f0 + -0x7d60)" * (cast_expression "(int *)(pcStack_f0 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7d60)" ( (binary_expression "pcStack_f0 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar12,pcVar19,iVar29)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }" statement_identifier : (if_statement "if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }" if (parenthesized_expression "(piStack_e4 == (int *)*piVar20)" ( (binary_expression "piStack_e4 == (int *)*piVar20" identifier == (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) )) (compound_statement "{\n    return (int *)*piVar20;\n  }" { (return_statement "return (int *)*piVar20;" return (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier)) ;) }))) (expression_statement "pcVar8 = *(code **)(pcStack_f0 + -0x7b28);" (assignment_expression "pcVar8 = *(code **)(pcStack_f0 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_f0 + -0x7b28)" * (cast_expression "(code **)(pcStack_f0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7b28)" ( (binary_expression "pcStack_f0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = 0x14ace0;" (assignment_expression "uVar32 = 0x14ace0" identifier = number_literal) ;) (expression_statement "(*pcVar8)();" (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppiVar13 = ppiStack_f8;" (assignment_expression "ppiVar13 = ppiStack_f8" identifier = identifier) ;) (expression_statement "pcStack_138 = pcVar8 + 0x4dc40;" (assignment_expression "pcStack_138 = pcVar8 + 0x4dc40" identifier = (binary_expression "pcVar8 + 0x4dc40" identifier + number_literal)) ;) (expression_statement "piVar23 = piVar7 + 1;" (assignment_expression "piVar23 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = *(undefined4 *)(*piVar7 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(*piVar7 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(*piVar7 + 0xc)" * (cast_expression "(undefined4 *)(*piVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar7 + 0xc)" ( (binary_expression "*piVar7 + 0xc" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ;) (expression_statement "pcStack_12c = (code *)piVar20;" (assignment_expression "pcStack_12c = (code *)piVar20" identifier = (cast_expression "(code *)piVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_128 = param_1;" (assignment_expression "pcStack_128 = param_1" identifier = identifier) ;) (expression_statement "piStack_124 = piVar12;" (assignment_expression "piStack_124 = piVar12" identifier = identifier) ;) (expression_statement "pcStack_120 = (code *)puVar24;" (assignment_expression "pcStack_120 = (code *)puVar24" identifier = (cast_expression "(code *)puVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_11c = pcVar19;" (assignment_expression "pcStack_11c = pcVar19" identifier = identifier) ;) (expression_statement "pcStack_118 = param_4;" (assignment_expression "pcStack_118 = param_4" identifier = identifier) ;) (expression_statement "piStack_114 = piVar26;" (assignment_expression "piStack_114 = piVar26" identifier = identifier) ;) (expression_statement "piStack_110 = piVar10;" (assignment_expression "piStack_110 = piVar10" identifier = identifier) ;) (expression_statement "uStack_10c = uVar32;" (assignment_expression "uStack_10c = uVar32" identifier = identifier) ;) (if_statement "if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }" if (parenthesized_expression "(pcVar15 == (code *)0x1)" ( (binary_expression "pcVar15 == (code *)0x1" identifier == (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }" { (if_statement "if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" if (parenthesized_expression "(iVar16 < 2)" ( (binary_expression "iVar16 < 2" identifier < number_literal) )) (compound_statement "{\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" { (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" * (cast_expression "(code **)(pcVar8 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x45c8c)" ( (binary_expression "pcVar8 + 0x45c8c" identifier + number_literal) ))))) ;) (expression_statement "iVar31 = -1;" (assignment_expression "iVar31 = -1" identifier = number_literal) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);" (call_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))" ( (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" * (cast_expression "(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (binary_expression "*(int *)(pcVar8 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" * (cast_expression "(int *)(pcVar8 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x45ef0)" ( (binary_expression "pcVar8 + 0x45ef0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar23)" ( identifier ))) ;) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0xf])" ( (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar29 = -1;" (assignment_expression "iVar29 = -1" identifier = number_literal) ;) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0x1c])" ( (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" * (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" * (cast_expression "(code **)(pcStack_138 + -0x7bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7bc8)" ( (binary_expression "pcStack_138 + -0x7bc8" identifier + number_literal) ))))) )) (argument_list "(piVar23,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar7[0x12] = 3;" (assignment_expression "piVar7[0x12] = 3" (subscript_expression "piVar7[0x12]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" else (compound_statement "{\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" { (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" * (cast_expression "(code **)(pcVar8 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x45c8c)" ( (binary_expression "pcVar8 + 0x45c8c" identifier + number_literal) ))))) ;) (expression_statement "iVar31 = -1;" (assignment_expression "iVar31 = -1" identifier = number_literal) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);" (call_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))" ( (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" * (cast_expression "(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (binary_expression "*(int *)(pcVar8 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" * (cast_expression "(int *)(pcVar8 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x45ef0)" ( (binary_expression "pcVar8 + 0x45ef0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar23)" ( identifier ))) ;) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0xf])" ( (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar29 = 1;" (assignment_expression "iVar29 = 1" identifier = number_literal) ;) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0x1c])" ( (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" * (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" * (cast_expression "(code **)(pcStack_138 + -0x7bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7bc8)" ( (binary_expression "pcStack_138 + -0x7bc8" identifier + number_literal) ))))) )) (argument_list "(piVar23,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar7[0x12] = 3;" (assignment_expression "piVar7[0x12] = 3" (subscript_expression "piVar7[0x12]" identifier [ number_literal ]) = number_literal) ;) }))) (labeled_statement "LAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);" statement_identifier : (expression_statement "iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);" (assignment_expression "iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))" ( (pointer_expression "*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" * (cast_expression "(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" ( (binary_expression "*(int *)(pcStack_138 + -0x7d60) + 0x6f60" (pointer_expression "*(int *)(pcStack_138 + -0x7d60)" * (cast_expression "(int *)(pcStack_138 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7d60)" ( (binary_expression "pcStack_138 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*ppiVar13,1)" ( (pointer_expression "*ppiVar13" * identifier) , number_literal )))) ;)) (if_statement "if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }" { (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16)" identifier = (call_expression "(**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7fbc))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7fbc)" * (pointer_expression "*(code **)(pcStack_138 + -0x7fbc)" * (cast_expression "(code **)(pcStack_138 + -0x7fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7fbc)" ( (binary_expression "pcStack_138 + -0x7fbc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16)" ( (binary_expression "*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc" (pointer_expression "*(int *)(pcStack_138 + -0x7fc4)" * (cast_expression "(int *)(pcStack_138 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7fc4)" ( (binary_expression "pcStack_138 + -0x7fc4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "piVar7[0xf] = iVar16;" (assignment_expression "piVar7[0xf] = iVar16" (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar16 == 0) goto LAB_0014b0b0;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014b0b0;" goto statement_identifier ;)) (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16)" identifier = (call_expression "(**(code **)(pcStack_138 + -0x7ba0))(iVar16)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7ba0))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7ba0)" * (pointer_expression "*(code **)(pcStack_138 + -0x7ba0)" * (cast_expression "(code **)(pcStack_138 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7ba0)" ( (binary_expression "pcStack_138 + -0x7ba0" identifier + number_literal) ))))) )) (argument_list "(iVar16)" ( identifier )))) ;) (expression_statement "piVar7[0x10] = iVar16;" (assignment_expression "piVar7[0x10] = iVar16" (subscript_expression "piVar7[0x10]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }" else (compound_statement "{\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }" { (if_statement "if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" if (parenthesized_expression "(((uint)pcVar15 & 2) == 0)" ( (binary_expression "((uint)pcVar15 & 2) == 0" (parenthesized_expression "((uint)pcVar15 & 2)" ( (binary_expression "(uint)pcVar15 & 2" (cast_expression "(uint)pcVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" { (expression_statement "iVar27 = -1;" (assignment_expression "iVar27 = -1" identifier = number_literal) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (if_statement "if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;" if (parenthesized_expression "(((uint)pcVar15 & 4) == 0)" ( (binary_expression "((uint)pcVar15 & 4) == 0" (parenthesized_expression "((uint)pcVar15 & 4)" ( (binary_expression "(uint)pcVar15 & 4" (cast_expression "(uint)pcVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0014aea4;" goto statement_identifier ;)) (labeled_statement "LAB_0014ad4c:\n      iVar29 = iVar31 + 1;" statement_identifier : (expression_statement "iVar29 = iVar31 + 1;" (assignment_expression "iVar29 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;)) (expression_statement "iVar30 = *(int *)(pcVar8 + 0x45ef0);" (assignment_expression "iVar30 = *(int *)(pcVar8 + 0x45ef0)" identifier = (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" * (cast_expression "(int *)(pcVar8 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x45ef0)" ( (binary_expression "pcVar8 + 0x45ef0" identifier + number_literal) ))))) ;) (if_statement "if (iVar29 < iVar16) goto LAB_0014aeb4;" if (parenthesized_expression "(iVar29 < iVar16)" ( (binary_expression "iVar29 < iVar16" identifier < identifier) )) (goto_statement "goto LAB_0014aeb4;" goto statement_identifier ;)) (labeled_statement "LAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);" statement_identifier : (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" * (cast_expression "(code **)(pcVar8 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x45c8c)" ( (binary_expression "pcVar8 + 0x45c8c" identifier + number_literal) ))))) ;)) (expression_statement "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);" (call_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))" ( (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" * (cast_expression "(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (binary_expression "*(int *)(pcVar8 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" * (cast_expression "(int *)(pcVar8 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x45ef0)" ( (binary_expression "pcVar8 + 0x45ef0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar23)" ( identifier ))) ;) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0xf])" ( (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar29 = -1;" (assignment_expression "iVar29 = -1" identifier = number_literal) ;) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0x1c])" ( (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" * (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" * (cast_expression "(code **)(pcStack_138 + -0x7bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7bc8)" ( (binary_expression "pcStack_138 + -0x7bc8" identifier + number_literal) ))))) )) (argument_list "(piVar23,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar7[0x12] = 0x13;" (assignment_expression "piVar7[0x12] = 0x13" (subscript_expression "piVar7[0x12]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" else (compound_statement "{\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" { (expression_statement "iVar29 = 1;" (assignment_expression "iVar29 = 1" identifier = number_literal) ;) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "iVar31 = iVar29;" (assignment_expression "iVar31 = iVar29" identifier = identifier) ;) (if_statement "if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;" if (parenthesized_expression "(((uint)pcVar15 & 4) != 0)" ( (binary_expression "((uint)pcVar15 & 4) != 0" (parenthesized_expression "((uint)pcVar15 & 4)" ( (binary_expression "(uint)pcVar15 & 4" (cast_expression "(uint)pcVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0014ad4c;" goto statement_identifier ;)) (labeled_statement "LAB_0014aea4:\n      iVar31 = -1;" statement_identifier : (expression_statement "iVar31 = -1;" (assignment_expression "iVar31 = -1" identifier = number_literal) ;)) (if_statement "if (iVar16 <= iVar29) goto LAB_0014ad60;" if (parenthesized_expression "(iVar16 <= iVar29)" ( (binary_expression "iVar16 <= iVar29" identifier <= identifier) )) (goto_statement "goto LAB_0014ad60;" goto statement_identifier ;)) (expression_statement "iVar30 = *(int *)(pcVar8 + 0x45ef0);" (assignment_expression "iVar30 = *(int *)(pcVar8 + 0x45ef0)" identifier = (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" * (cast_expression "(int *)(pcVar8 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x45ef0)" ( (binary_expression "pcVar8 + 0x45ef0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);" statement_identifier : (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" * (cast_expression "(code **)(pcVar8 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x45c8c)" ( (binary_expression "pcVar8 + 0x45c8c" identifier + number_literal) ))))) ;)) (expression_statement "(*(code *)(iVar30 + -0x5eb4))(piVar23);" (call_expression "(*(code *)(iVar30 + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(iVar30 + -0x5eb4))" ( (pointer_expression "*(code *)(iVar30 + -0x5eb4)" * (cast_expression "(code *)(iVar30 + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + -0x5eb4)" ( (binary_expression "iVar30 + -0x5eb4" identifier + number_literal) )))) )) (argument_list "(piVar23)" ( identifier ))) ;) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0xf])" ( (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0x1c])" ( (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" * (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" * (cast_expression "(code **)(pcStack_138 + -0x7bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7bc8)" ( (binary_expression "pcStack_138 + -0x7bc8" identifier + number_literal) ))))) )) (argument_list "(piVar23,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar7[0x12] = 0x13;" (assignment_expression "piVar7[0x12] = 0x13" (subscript_expression "piVar7[0x12]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "uVar32 = 1;" (assignment_expression "uVar32 = 1" identifier = number_literal) ;) (if_statement "if (iVar27 == 0) goto LAB_0014adbc;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014adbc;" goto statement_identifier ;)) }))) (if_statement "if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }" if (parenthesized_expression "(iVar31 == -1)" ( (binary_expression "iVar31 == -1" identifier == number_literal) )) (compound_statement "{\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }" { (if_statement "if (iVar29 != -1) goto LAB_0014af60;" if (parenthesized_expression "(iVar29 != -1)" ( (binary_expression "iVar29 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0014af60;" goto statement_identifier ;)) (labeled_statement "LAB_0014ae20:\n    iVar29 = 0;" statement_identifier : (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }" else (compound_statement "{\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }" { (expression_statement "uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);" (assignment_expression "uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))" ( (pointer_expression "*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" * (cast_expression "(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" ( (binary_expression "*(int *)(pcStack_138 + -0x7d60) + 0x6f60" (pointer_expression "*(int *)(pcStack_138 + -0x7d60)" * (cast_expression "(int *)(pcStack_138 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7d60)" ( (binary_expression "pcStack_138 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppiVar13[iVar31],1)" ( (subscript_expression "ppiVar13[iVar31]" identifier [ identifier ]) , number_literal )))) ;) (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11)" identifier = (call_expression "(**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7fbc))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7fbc)" * (pointer_expression "*(code **)(pcStack_138 + -0x7fbc)" * (cast_expression "(code **)(pcStack_138 + -0x7fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7fbc)" ( (binary_expression "pcStack_138 + -0x7fbc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11)" ( (binary_expression "*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc" (pointer_expression "*(int *)(pcStack_138 + -0x7fc4)" * (cast_expression "(int *)(pcStack_138 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7fc4)" ( (binary_expression "pcStack_138 + -0x7fc4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "piVar7[0x13] = iVar16;" (assignment_expression "piVar7[0x13] = iVar16" (subscript_expression "piVar7[0x13]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }" { (labeled_statement "LAB_0014b0b0:\n      return (int *)&DAT_00000007;" statement_identifier : (return_statement "return (int *)&DAT_00000007;" return (cast_expression "(int *)&DAT_00000007" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier)) ;)) })) (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16)" identifier = (call_expression "(**(code **)(pcStack_138 + -0x7ba0))(iVar16)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7ba0))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7ba0)" * (pointer_expression "*(code **)(pcStack_138 + -0x7ba0)" * (cast_expression "(code **)(pcStack_138 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7ba0)" ( (binary_expression "pcStack_138 + -0x7ba0" identifier + number_literal) ))))) )) (argument_list "(iVar16)" ( identifier )))) ;) (expression_statement "piVar7[0x14] = iVar16;" (assignment_expression "piVar7[0x14] = iVar16" (subscript_expression "piVar7[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar29 == -1) goto LAB_0014ae20;" if (parenthesized_expression "(iVar29 == -1)" ( (binary_expression "iVar29 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0014ae20;" goto statement_identifier ;)) (labeled_statement "LAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);" statement_identifier : (expression_statement "(*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);" (call_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29])" (parenthesized_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))" ( (pointer_expression "*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68)" * (cast_expression "(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d78) + 0x7f68)" ( (binary_expression "*(int *)(pcStack_138 + -0x7d78) + 0x7f68" (pointer_expression "*(int *)(pcStack_138 + -0x7d78)" * (cast_expression "(int *)(pcStack_138 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7d78)" ( (binary_expression "pcStack_138 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppiVar13[iVar29])" ( (subscript_expression "ppiVar13[iVar29]" identifier [ identifier ]) ))) ;)) (expression_statement "iVar29 = extraout_v1;" (assignment_expression "iVar29 = extraout_v1" identifier = identifier) ;) (if_statement "if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }" if (parenthesized_expression "(extraout_v1 < 0)" ( (binary_expression "extraout_v1 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar29 = 0;\n    }" { (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) })) }))) (expression_statement "piVar7[0x15] = iVar29;" (assignment_expression "piVar7[0x15] = iVar29" (subscript_expression "piVar7[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piStack_140 = piVar23;" (assignment_expression "piStack_140 = piVar23" identifier = identifier) ;) (expression_statement "piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);" (assignment_expression "piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" identifier = (cast_expression "(int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" identifier (argument_list "(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" ( identifier , identifier , number_literal , number_literal , (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) , (subscript_expression "piVar7[0x10]" identifier [ number_literal ]) , number_literal , identifier ))))) ;) (if_statement "if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }" if (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return piVar10;\n  }" { (return_statement "return piVar10;" return identifier ;) })) (expression_statement "iVar29 = piVar7[0x10];" (assignment_expression "iVar29 = piVar7[0x10]" identifier = (subscript_expression "piVar7[0x10]" identifier [ number_literal ])) ;) (expression_statement "piVar7[4] = (int)(piVar7 + 0xf);" (assignment_expression "piVar7[4] = (int)(piVar7 + 0xf)" (subscript_expression "piVar7[4]" identifier [ number_literal ]) = (cast_expression "(int)(piVar7 + 0xf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 0xf)" ( (binary_expression "piVar7 + 0xf" identifier + number_literal) )))) ;) (expression_statement "piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);" (assignment_expression "piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29)" identifier = (cast_expression "(int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29)" identifier (argument_list "(uVar9,piVar23,piVar7[0xf],iVar29)" ( identifier , identifier , (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) , identifier ))))) ;) (expression_statement "piVar12 = piStack_114;" (assignment_expression "piVar12 = piStack_114" identifier = identifier) ;) (expression_statement "pcVar4 = pcStack_118;" (assignment_expression "pcVar4 = pcStack_118" identifier = identifier) ;) (expression_statement "pcVar8 = pcStack_11c;" (assignment_expression "pcVar8 = pcStack_11c" identifier = identifier) ;) (expression_statement "pcVar19 = pcStack_120;" (assignment_expression "pcVar19 = pcStack_120" identifier = identifier) ;) (expression_statement "piVar10 = piStack_124;" (assignment_expression "piVar10 = piStack_124" identifier = identifier) ;) (expression_statement "pcVar15 = pcStack_128;" (assignment_expression "pcVar15 = pcStack_128" identifier = identifier) ;) (if_statement "if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }" if (parenthesized_expression "(piVar26 != (int *)0x0)" ( (binary_expression "piVar26 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return piVar26;\n  }" { (return_statement "return piVar26;" return identifier ;) })) (expression_statement "iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;" (assignment_expression "iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920" identifier = (binary_expression "*(int *)(pcStack_138 + -0x7d6c) + 0x48920" (pointer_expression "*(int *)(pcStack_138 + -0x7d6c)" * (cast_expression "(int *)(pcStack_138 + -0x7d6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7d6c)" ( (binary_expression "pcStack_138 + -0x7d6c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piStack_130 = (int *)pcStack_12c;" (assignment_expression "piStack_130 = (int *)pcStack_12c" identifier = (cast_expression "(int *)pcStack_12c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piStack_114 = piStack_110;" (assignment_expression "piStack_114 = piStack_110" identifier = identifier) ;) (expression_statement "pcStack_118 = (code *)piVar12;" (assignment_expression "pcStack_118 = (code *)piVar12" identifier = (cast_expression "(code *)piVar12" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_11c = pcVar4;" (assignment_expression "pcStack_11c = pcVar4" identifier = identifier) ;) (expression_statement "pcStack_120 = pcVar8;" (assignment_expression "pcStack_120 = pcVar8" identifier = identifier) ;) (expression_statement "piStack_124 = (int *)pcVar19;" (assignment_expression "piStack_124 = (int *)pcVar19" identifier = (cast_expression "(int *)pcVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_128 = (code *)piVar10;" (assignment_expression "pcStack_128 = (code *)piVar10" identifier = (cast_expression "(code *)piVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_12c = pcVar15;" (assignment_expression "pcStack_12c = pcVar15" identifier = identifier) ;) (expression_statement "piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);" (assignment_expression "piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" identifier = (pointer_expression "*(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" * (cast_expression "(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" ( (binary_expression "*(int *)(pcStack_138 + -0x7d6c) + 0x40e24" (pointer_expression "*(int *)(pcStack_138 + -0x7d6c)" * (cast_expression "(int *)(pcStack_138 + -0x7d6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7d6c)" ( (binary_expression "pcStack_138 + -0x7d6c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar27 = piVar7[0x1a];" (assignment_expression "iVar27 = piVar7[0x1a]" identifier = (subscript_expression "piVar7[0x1a]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = piVar7[0x19] + 1;" (assignment_expression "uVar17 = piVar7[0x19] + 1" identifier = (binary_expression "piVar7[0x19] + 1" (subscript_expression "piVar7[0x19]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar16 = piVar7[0x1b];" (assignment_expression "iVar16 = piVar7[0x1b]" identifier = (subscript_expression "piVar7[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar30 = iVar27 + 1;" (assignment_expression "iVar30 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "iStack_134 = *piVar10;" (assignment_expression "iStack_134 = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "uVar9 = *(undefined4 *)(*piVar7 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(*piVar7 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(*piVar7 + 0xc)" * (cast_expression "(undefined4 *)(*piVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar7 + 0xc)" ( (binary_expression "*piVar7 + 0xc" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ;) (expression_statement "piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];" (assignment_expression "piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18]" (subscript_expression "piVar7[0x18]" identifier [ number_literal ]) = (binary_expression "(uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18]" (call_expression "(uint)(uVar17 < (uint)piVar7[0x19])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < (uint)piVar7[0x19])" ( (binary_expression "uVar17 < (uint)piVar7[0x19]" identifier < (cast_expression "(uint)piVar7[0x19]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar7[0x19]" identifier [ number_literal ]))) ))) + (subscript_expression "piVar7[0x18]" identifier [ number_literal ]))) ;) (expression_statement "piVar7[0x19] = uVar17;" (assignment_expression "piVar7[0x19] = uVar17" (subscript_expression "piVar7[0x19]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar7[0x1a] = iVar30;" (assignment_expression "piVar7[0x1a] = iVar30" (subscript_expression "piVar7[0x1a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piStack_110 = (int *)iVar6;" (assignment_expression "piStack_110 = (int *)iVar6" identifier = (cast_expression "(int *)iVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }" if (parenthesized_expression "(iVar30 < iVar16)" ( (binary_expression "iVar30 < iVar16" identifier < identifier) )) (compound_statement "{\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }" { (expression_statement "ppiVar13 = (int **)(iVar30 * 0x10);" (assignment_expression "ppiVar13 = (int **)(iVar30 * 0x10)" identifier = (cast_expression "(int **)(iVar30 * 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar30 * 0x10)" ( (binary_expression "iVar30 * 0x10" identifier * number_literal) )))) ;) (expression_statement "piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);" (assignment_expression "piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13)" identifier = (cast_expression "(int *)(piVar7[0x1c] + (int)ppiVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7[0x1c] + (int)ppiVar13)" ( (binary_expression "piVar7[0x1c] + (int)ppiVar13" (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) + (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar6 = *piVar12;" (assignment_expression "iVar6 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (if_statement "if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }" if (parenthesized_expression "(iVar6 < 1)" ( (binary_expression "iVar6 < 1" identifier < number_literal) )) (compound_statement "{\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }" { (if_statement "if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }" if (parenthesized_expression "((iVar6 == 0) && (piVar12[1] != 0))" ( (binary_expression "(iVar6 == 0) && (piVar12[1] != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(piVar12[1] != 0)" ( (binary_expression "piVar12[1] != 0" (subscript_expression "piVar12[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        piVar12 = (int *)0x0;\n      }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }" else (compound_statement "{\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }" { (expression_statement "iVar27 = iVar27 + 2;" (assignment_expression "iVar27 = iVar27 + 2" identifier = (binary_expression "iVar27 + 2" identifier + number_literal)) ;) (expression_statement "iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;" (assignment_expression "iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10" identifier = (binary_expression "(int)ppiVar13 + piVar7[0x1c] + -0x10" (binary_expression "(int)ppiVar13 + piVar7[0x1c]" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) + number_literal)) ;) (do_statement "do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));" do (compound_statement "{\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        }" { (expression_statement "piVar7[0x1a] = iVar27;" (assignment_expression "piVar7[0x1a] = iVar27" (subscript_expression "piVar7[0x1a]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar27 == iVar16) goto LAB_00148750;" if (parenthesized_expression "(iVar27 == iVar16)" ( (binary_expression "iVar27 == iVar16" identifier == identifier) )) (goto_statement "goto LAB_00148750;" goto statement_identifier ;)) (expression_statement "ppiVar13 = *(int ***)(iVar6 + 0x20);" (assignment_expression "ppiVar13 = *(int ***)(iVar6 + 0x20)" identifier = (pointer_expression "*(int ***)(iVar6 + 0x20)" * (cast_expression "(int ***)(iVar6 + 0x20)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "piVar12 = (int *)(iVar6 + 0x24);" (assignment_expression "piVar12 = (int *)(iVar6 + 0x24)" identifier = (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) ;) (expression_statement "iVar6 = iVar6 + 0x10;" (assignment_expression "iVar6 = iVar6 + 0x10" identifier = (binary_expression "iVar6 + 0x10" identifier + number_literal)) ;) (if_statement "if (0 < (int)ppiVar13) goto LAB_001487fc;" if (parenthesized_expression "(0 < (int)ppiVar13)" ( (binary_expression "0 < (int)ppiVar13" number_literal < (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001487fc;" goto statement_identifier ;)) }) while (parenthesized_expression "((ppiVar13 != (int **)0x0) || (*piVar12 == 0))" ( (binary_expression "(ppiVar13 != (int **)0x0) || (*piVar12 == 0)" (parenthesized_expression "(ppiVar13 != (int **)0x0)" ( (binary_expression "ppiVar13 != (int **)0x0" identifier != (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(*piVar12 == 0)" ( (binary_expression "*piVar12 == 0" (pointer_expression "*piVar12" * identifier) == number_literal) ))) )) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_00148800;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }" else (compound_statement "{\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }" { (labeled_statement "LAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);" statement_identifier : (expression_statement "ppiVar13 = (int **)(piVar7 + 1);" (assignment_expression "ppiVar13 = (int **)(piVar7 + 1)" identifier = (cast_expression "(int **)(piVar7 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar7 + 1)" ( (binary_expression "piVar7 + 1" identifier + number_literal) )))) ;)) (expression_statement "piVar12 = (int *)FUN_00147c04(uVar9);" (assignment_expression "piVar12 = (int *)FUN_00147c04(uVar9)" identifier = (cast_expression "(int *)FUN_00147c04(uVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00147c04(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))))) ;) (if_statement "if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }" if (parenthesized_expression "(piVar12 != (int *)&DAT_00000064)" ( (binary_expression "piVar12 != (int *)&DAT_00000064" identifier != (cast_expression "(int *)&DAT_00000064" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000064" & identifier))) )) (compound_statement "{\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }" { (expression_statement "piVar7[0x16] = 1;" (assignment_expression "piVar7[0x16] = 1" (subscript_expression "piVar7[0x16]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00148800;" goto statement_identifier ;) })) (if_statement "if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }" if (parenthesized_expression "(piVar7[0x13] != 0)" ( (binary_expression "piVar7[0x13] != 0" (subscript_expression "piVar7[0x13]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }" { (expression_statement "iVar27 = piVar7[0xc];" (assignment_expression "iVar27 = piVar7[0xc]" identifier = (subscript_expression "piVar7[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar7[0x14];" (assignment_expression "iVar6 = piVar7[0x14]" identifier = (subscript_expression "piVar7[0x14]" identifier [ number_literal ])) ;) (expression_statement "ppiVar13 = (int **)piVar7[0xb];" (assignment_expression "ppiVar13 = (int **)piVar7[0xb]" identifier = (cast_expression "(int **)piVar7[0xb]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar7[0xb]" identifier [ number_literal ]))) ;) (expression_statement "iVar16 = iVar27;" (assignment_expression "iVar16 = iVar27" identifier = identifier) ;) (if_statement "if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }" if (parenthesized_expression "(iVar6 < iVar27)" ( (binary_expression "iVar6 < iVar27" identifier < identifier) )) (compound_statement "{\n        iVar16 = iVar6;\n      }" { (expression_statement "iVar16 = iVar6;" (assignment_expression "iVar16 = iVar6" identifier = identifier) ;) })) (expression_statement "iVar30 = (**(code **)(iVar31 + -0x7b14))();" (assignment_expression "iVar30 = (**(code **)(iVar31 + -0x7b14))()" identifier = (call_expression "(**(code **)(iVar31 + -0x7b14))()" (parenthesized_expression "(**(code **)(iVar31 + -0x7b14))" ( (pointer_expression "**(code **)(iVar31 + -0x7b14)" * (pointer_expression "*(code **)(iVar31 + -0x7b14)" * (cast_expression "(code **)(iVar31 + -0x7b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7b14)" ( (binary_expression "iVar31 + -0x7b14" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }" if (parenthesized_expression "((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27))))" ( (binary_expression "(iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))" (parenthesized_expression "(iVar30 < 0)" ( (binary_expression "iVar30 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar30 == 0 && (iVar6 < iVar27)))" ( (parenthesized_expression "(iVar30 == 0 && (iVar6 < iVar27))" ( (binary_expression "iVar30 == 0 && (iVar6 < iVar27)" (binary_expression "iVar30 == 0" identifier == number_literal) && (parenthesized_expression "(iVar6 < iVar27)" ( (binary_expression "iVar6 < iVar27" identifier < identifier) ))) )) ))) )) (compound_statement "{\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar7[0x16] = 1;" (assignment_expression "piVar7[0x16] = 1" (subscript_expression "piVar7[0x16]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00148800;" goto statement_identifier ;) })) })) (expression_statement "iVar16 = piVar7[0x1b];" (assignment_expression "iVar16 = piVar7[0x1b]" identifier = (subscript_expression "piVar7[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar7[0xe];" (assignment_expression "iVar6 = piVar7[0xe]" identifier = (subscript_expression "piVar7[0xe]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = piVar7[0xd];" (assignment_expression "iVar27 = piVar7[0xd]" identifier = (subscript_expression "piVar7[0xd]" identifier [ number_literal ])) ;) (if_statement "if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }" if (parenthesized_expression "(iVar16 < 2)" ( (binary_expression "iVar16 < 2" identifier < number_literal) )) (compound_statement "{\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }" { (expression_statement "iVar16 = 2;" (assignment_expression "iVar16 = 2" identifier = number_literal) ;) (expression_statement "ppiVar13 = (int **)(piVar7 + 0x1c);" (assignment_expression "ppiVar13 = (int **)(piVar7 + 0x1c)" identifier = (cast_expression "(int **)(piVar7 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar7 + 0x1c)" ( (binary_expression "piVar7 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);" (assignment_expression "iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b)" identifier = (call_expression "(*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b)" (parenthesized_expression "(*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))" ( (pointer_expression "*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" * (cast_expression "(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar31 + -0x7cf4) + 0x948)" ( (binary_expression "*(int *)(iVar31 + -0x7cf4) + 0x948" (pointer_expression "*(int *)(iVar31 + -0x7cf4)" * (cast_expression "(int *)(iVar31 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7cf4)" ( (binary_expression "iVar31 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar7 + 0x1b)" ( (binary_expression "piVar7 + 0x1b" identifier + number_literal) )))) ;) (if_statement "if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }" if (parenthesized_expression "(iVar30 != 0)" ( (binary_expression "iVar30 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }" { (labeled_statement "LAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;" statement_identifier : (expression_statement "piVar12 = (int *)&DAT_00000007;" (assignment_expression "piVar12 = (int *)&DAT_00000007" identifier = (cast_expression "(int *)&DAT_00000007" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;)) (goto_statement "goto LAB_00148800;" goto statement_identifier ;) })) (expression_statement "iVar16 = piVar7[0x1b];" (assignment_expression "iVar16 = piVar7[0x1b]" identifier = (subscript_expression "piVar7[0x1b]" identifier [ number_literal ])) ;) })) (expression_statement "iVar16 = iVar16 << 4;" (assignment_expression "iVar16 = iVar16 << 4" identifier = (binary_expression "iVar16 << 4" identifier << number_literal)) ;) (expression_statement "ppiVar13 = (int **)0x0;" (assignment_expression "ppiVar13 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "(**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);" (call_expression "(**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c])" (parenthesized_expression "(**(code **)(iVar31 + -0x7bc8))" ( (pointer_expression "**(code **)(iVar31 + -0x7bc8)" * (pointer_expression "*(code **)(iVar31 + -0x7bc8)" * (cast_expression "(code **)(iVar31 + -0x7bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7bc8)" ( (binary_expression "iVar31 + -0x7bc8" identifier + number_literal) ))))) )) (argument_list "(piVar7[0x1c])" ( (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) ))) ;) (if_statement "if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }" { (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);" (assignment_expression "pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8)" identifier = (cast_expression "(code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar31 + -0x7de0) + 0x3ec8)" ( (binary_expression "*(int *)(iVar31 + -0x7de0) + 0x3ec8" (pointer_expression "*(int *)(iVar31 + -0x7de0)" * (cast_expression "(int *)(iVar31 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7de0)" ( (binary_expression "iVar31 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar30 = (*pcVar19)(iVar27,&piStack_140);" (assignment_expression "iVar30 = (*pcVar19)(iVar27,&piStack_140)" identifier = (call_expression "(*pcVar19)(iVar27,&piStack_140)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27,&piStack_140)" ( identifier , (pointer_expression "&piStack_140" & identifier) )))) ;) (expression_statement "pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);" (assignment_expression "pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" identifier = (cast_expression "(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar31 + -0x7cf4) + 0x948)" ( (binary_expression "*(int *)(iVar31 + -0x7cf4) + 0x948" (pointer_expression "*(int *)(iVar31 + -0x7cf4)" * (cast_expression "(int *)(iVar31 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7cf4)" ( (binary_expression "iVar31 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];" statement_identifier : (expression_statement "piVar12 = (int *)piVar7[0x1c];" (assignment_expression "piVar12 = (int *)piVar7[0x1c]" identifier = (cast_expression "(int *)piVar7[0x1c]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]))) ;)) (expression_statement "ppiVar5 = (int **)piVar12[1];" (assignment_expression "ppiVar5 = (int **)piVar12[1]" identifier = (cast_expression "(int **)piVar12[1]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar12[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar16 = *piVar12;" (assignment_expression "iVar16 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" identifier = (cast_expression "(int **)((int)ppiVar5 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar5 + 1)" ( (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar12[1] = (int)ppiVar13;" (assignment_expression "piVar12[1] = (int)ppiVar13" (subscript_expression "piVar12[1]" identifier [ number_literal ]) = (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*piVar12" * identifier) = (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppiVar13 < ppiVar5)" ( (binary_expression "ppiVar13 < ppiVar5" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }" if (parenthesized_expression "(iVar30 < iVar6)" ( (binary_expression "iVar30 < iVar6" identifier < identifier) )) (compound_statement "{\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }" { (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" identifier = (pointer_expression "&piStack_140" & identifier)) ;) (expression_statement "iVar21 = (*pcVar19)(iVar27 + iVar30);" (assignment_expression "iVar21 = (*pcVar19)(iVar27 + iVar30)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar30)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar30)" ( (binary_expression "iVar27 + iVar30" identifier + identifier) )))) ;) (expression_statement "iVar21 = iVar21 + iVar30;" (assignment_expression "iVar21 = iVar21 + iVar30" identifier = (binary_expression "iVar21 + iVar30" identifier + identifier)) ;) (if_statement "if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }" if (parenthesized_expression "((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c))))" ( (binary_expression "(0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))" (parenthesized_expression "(0 < (int)piStack_140)" ( (binary_expression "0 < (int)piStack_140" number_literal < (cast_expression "(int)piStack_140" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((piStack_140 == (int *)0x0 && (1 < uStack_13c)))" ( (parenthesized_expression "(piStack_140 == (int *)0x0 && (1 < uStack_13c))" ( (binary_expression "piStack_140 == (int *)0x0 && (1 < uStack_13c)" (binary_expression "piStack_140 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(1 < uStack_13c)" ( (binary_expression "1 < uStack_13c" number_literal < identifier) ))) )) ))) )) (compound_statement "{\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }" { (expression_statement "iVar16 = piVar7[0x1c];" (assignment_expression "iVar16 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = *(uint *)(iVar16 + 0x14);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar16 + 0x14)" * (cast_expression "(uint *)(iVar16 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar16 + 0x14) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0x14) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0x14)" * (cast_expression "(uint *)(iVar16 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);" (assignment_expression "*(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10)" (pointer_expression "*(uint *)(iVar16 + 0x10)" * (cast_expression "(uint *)(iVar16 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) )))) = (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar17)" ( (binary_expression "uVar14 < uVar17" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar16 + 0x10)" * (cast_expression "(int *)(iVar16 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "iVar16 = piVar7[0x1c];" (assignment_expression "iVar16 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = *(uint *)(iVar16 + 0x1c);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar16 + 0x1c)" * (cast_expression "(uint *)(iVar16 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x1c)" ( (binary_expression "iVar16 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar16 + 0x1c) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0x1c) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0x1c)" * (cast_expression "(uint *)(iVar16 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x1c)" ( (binary_expression "iVar16 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);" (assignment_expression "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (pointer_expression "*(uint *)(iVar16 + 0x18)" * (cast_expression "(uint *)(iVar16 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x18)" ( (binary_expression "iVar16 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar17)" ( (binary_expression "uVar14 < uVar17" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar16 + 0x18)" * (cast_expression "(int *)(iVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x18)" ( (binary_expression "iVar16 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar30 = piVar7[0x1c];" (assignment_expression "iVar30 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar5 = *(int ***)(iVar30 + 0xc);" (assignment_expression "ppiVar5 = *(int ***)(iVar30 + 0xc)" identifier = (pointer_expression "*(int ***)(iVar30 + 0xc)" * (cast_expression "(int ***)(iVar30 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar30 + 0xc)" ( (binary_expression "iVar30 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar30 + 8);" (assignment_expression "iVar16 = *(int *)(iVar30 + 8)" identifier = (pointer_expression "*(int *)(iVar30 + 8)" * (cast_expression "(int *)(iVar30 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) ))))) ;) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" identifier = (cast_expression "(int **)((int)ppiVar5 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar5 + 1)" ( (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int ***)(iVar30 + 0xc) = ppiVar13;" (assignment_expression "*(int ***)(iVar30 + 0xc) = ppiVar13" (pointer_expression "*(int ***)(iVar30 + 0xc)" * (cast_expression "(int ***)(iVar30 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar30 + 0xc)" ( (binary_expression "iVar30 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*(uint *)(iVar30 + 8)" * (cast_expression "(uint *)(iVar30 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppiVar13 < ppiVar5)" ( (binary_expression "ppiVar13 < ppiVar5" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }" if (parenthesized_expression "(iVar21 < iVar6)" ( (binary_expression "iVar21 < iVar6" identifier < identifier) )) (compound_statement "{\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }" { (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" identifier = (pointer_expression "&piStack_140" & identifier)) ;) (expression_statement "iVar18 = (*pcVar19)(iVar27 + iVar21);" (assignment_expression "iVar18 = (*pcVar19)(iVar27 + iVar21)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) )))) ;) (expression_statement "iVar30 = 0x10;" (assignment_expression "iVar30 = 0x10" identifier = number_literal) ;) (expression_statement "iVar21 = iVar21 + iVar18;" (assignment_expression "iVar21 = iVar21 + iVar18" identifier = (binary_expression "iVar21 + iVar18" identifier + identifier)) ;) (goto_statement "goto LAB_00148a68;" goto statement_identifier ;) })) (goto_statement "goto LAB_001487f8;" goto statement_identifier ;) })) (if_statement "if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }" if (parenthesized_expression "(piStack_140 != (int *)0x0 || uStack_13c != 0)" ( (binary_expression "piStack_140 != (int *)0x0 || uStack_13c != 0" (binary_expression "piStack_140 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "uStack_13c != 0" identifier != number_literal)) )) (compound_statement "{\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }" { (if_statement "if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }" if (parenthesized_expression "((piStack_140 == (int *)0x0) && (uStack_13c == 1))" ( (binary_expression "(piStack_140 == (int *)0x0) && (uStack_13c == 1)" (parenthesized_expression "(piStack_140 == (int *)0x0)" ( (binary_expression "piStack_140 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uStack_13c == 1)" ( (binary_expression "uStack_13c == 1" identifier == number_literal) ))) )) (compound_statement "{\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }" { (if_statement "if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }" if (parenthesized_expression "(iVar21 < iVar6)" ( (binary_expression "iVar21 < iVar6" identifier < identifier) )) (compound_statement "{\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }" { (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21,&piStack_140)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) , (pointer_expression "&piStack_140" & identifier) )))) ;) (expression_statement "iVar21 = iVar21 + iVar16;" (assignment_expression "iVar21 = iVar21 + iVar16" identifier = (binary_expression "iVar21 + iVar16" identifier + identifier)) ;) (do_statement "do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );" do (compound_statement "{\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              }" { (expression_statement "iVar16 = uStack_13c + 2;" (assignment_expression "iVar16 = uStack_13c + 2" identifier = (binary_expression "uStack_13c + 2" identifier + number_literal)) ;) (expression_statement "uVar17 = uStack_13c;" (assignment_expression "uVar17 = uStack_13c" identifier = identifier) ;) (if_statement "if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }" if (parenthesized_expression "(piVar7[0x1b] < iVar16)" ( (binary_expression "piVar7[0x1b] < iVar16" (subscript_expression "piVar7[0x1b]" identifier [ number_literal ]) < identifier) )) (compound_statement "{\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }" { (expression_statement "ppiVar13 = (int **)(piVar7 + 0x1c);" (assignment_expression "ppiVar13 = (int **)(piVar7 + 0x1c)" identifier = (cast_expression "(int **)(piVar7 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar7 + 0x1c)" ( (binary_expression "piVar7 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "iVar30 = (*pcVar15)(piVar7 + 0x1b);" (assignment_expression "iVar30 = (*pcVar15)(piVar7 + 0x1b)" identifier = (call_expression "(*pcVar15)(piVar7 + 0x1b)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7 + 0x1b)" ( (binary_expression "piVar7 + 0x1b" identifier + number_literal) )))) ;) (if_statement "if (iVar30 != 0) goto LAB_00148b9c;" if (parenthesized_expression "(iVar30 != 0)" ( (binary_expression "iVar30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00148b9c;" goto statement_identifier ;)) })) (expression_statement "iVar30 = (uVar17 + 1) * 0x10;" (assignment_expression "iVar30 = (uVar17 + 1) * 0x10" identifier = (binary_expression "(uVar17 + 1) * 0x10" (parenthesized_expression "(uVar17 + 1)" ( (binary_expression "uVar17 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "piVar12 = (int *)(piVar7[0x1c] + iVar30);" (assignment_expression "piVar12 = (int *)(piVar7[0x1c] + iVar30)" identifier = (cast_expression "(int *)(piVar7[0x1c] + iVar30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7[0x1c] + iVar30)" ( (binary_expression "piVar7[0x1c] + iVar30" (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "ppiVar5 = (int **)piVar12[1];" (assignment_expression "ppiVar5 = (int **)piVar12[1]" identifier = (cast_expression "(int **)piVar12[1]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar12[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar16 = *piVar12;" (assignment_expression "iVar16 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" identifier = (cast_expression "(int **)((int)ppiVar5 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar5 + 1)" ( (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar12[1] = (int)ppiVar13;" (assignment_expression "piVar12[1] = (int)ppiVar13" (subscript_expression "piVar12[1]" identifier [ number_literal ]) = (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*piVar12" * identifier) = (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppiVar13 < ppiVar5)" ( (binary_expression "ppiVar13 < ppiVar5" identifier < identifier) ))) + identifier)) ;) (while_statement "while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }" { (if_statement "if (iVar6 <= iVar21) goto LAB_001487f8;" if (parenthesized_expression "(iVar6 <= iVar21)" ( (binary_expression "iVar6 <= iVar21" identifier <= identifier) )) (goto_statement "goto LAB_001487f8;" goto statement_identifier ;)) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" identifier = (pointer_expression "&piStack_140" & identifier)) ;) (expression_statement "iVar18 = (*pcVar19)(iVar27 + iVar21);" (assignment_expression "iVar18 = (*pcVar19)(iVar27 + iVar21)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) )))) ;) (expression_statement "iVar21 = iVar21 + iVar18;" (assignment_expression "iVar21 = iVar21 + iVar18" identifier = (binary_expression "iVar21 + iVar18" identifier + identifier)) ;) (labeled_statement "LAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }" statement_identifier : (if_statement "if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }" if (parenthesized_expression "(piStack_140 == (int *)0x0 && uStack_13c == 0)" ( (binary_expression "piStack_140 == (int *)0x0 && uStack_13c == 0" (binary_expression "piStack_140 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "uStack_13c == 0" identifier == number_literal)) )) (compound_statement "{\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }" { (if_statement "if (iVar6 <= iVar21) goto LAB_001487f8;" if (parenthesized_expression "(iVar6 <= iVar21)" ( (binary_expression "iVar6 <= iVar21" identifier <= identifier) )) (goto_statement "goto LAB_001487f8;" goto statement_identifier ;)) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21,&piStack_140)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) , (pointer_expression "&piStack_140" & identifier) )))) ;) (expression_statement "iVar30 = iVar30 + iVar21;" (assignment_expression "iVar30 = iVar30 + iVar21" identifier = (binary_expression "iVar30 + iVar21" identifier + identifier)) ;) (goto_statement "goto LAB_001488f8;" goto statement_identifier ;) }))) (if_statement "if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;" if (parenthesized_expression "((piStack_140 == (int *)0x0) && (uStack_13c == 1))" ( (binary_expression "(piStack_140 == (int *)0x0) && (uStack_13c == 1)" (parenthesized_expression "(piStack_140 == (int *)0x0)" ( (binary_expression "piStack_140 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uStack_13c == 1)" ( (binary_expression "uStack_13c == 1" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar16 = piVar7[0x1c] + iVar30;" (assignment_expression "iVar16 = piVar7[0x1c] + iVar30" identifier = (binary_expression "piVar7[0x1c] + iVar30" (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "uVar17 = *(uint *)(iVar16 + 0xc);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar16 + 0xc)" * (cast_expression "(uint *)(iVar16 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar16 + 0xc) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0xc) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0xc)" * (cast_expression "(uint *)(iVar16 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);" (assignment_expression "*(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8)" (pointer_expression "*(uint *)(iVar16 + 8)" * (cast_expression "(uint *)(iVar16 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar17)" ( (binary_expression "uVar14 < uVar17" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar16 + 8)" * (cast_expression "(int *)(iVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))))) ;) (expression_statement "iVar18 = piVar7[0x1c];" (assignment_expression "iVar18 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar5 = *(int ***)(iVar18 + 0xc);" (assignment_expression "ppiVar5 = *(int ***)(iVar18 + 0xc)" identifier = (pointer_expression "*(int ***)(iVar18 + 0xc)" * (cast_expression "(int ***)(iVar18 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar18 + 0xc)" ( (binary_expression "iVar18 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar18 + 8);" (assignment_expression "iVar16 = *(int *)(iVar18 + 8)" identifier = (pointer_expression "*(int *)(iVar18 + 8)" * (cast_expression "(int *)(iVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 8)" ( (binary_expression "iVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" identifier = (cast_expression "(int **)((int)ppiVar5 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar5 + 1)" ( (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int ***)(iVar18 + 0xc) = ppiVar13;" (assignment_expression "*(int ***)(iVar18 + 0xc) = ppiVar13" (pointer_expression "*(int ***)(iVar18 + 0xc)" * (cast_expression "(int ***)(iVar18 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar18 + 0xc)" ( (binary_expression "iVar18 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*(uint *)(iVar18 + 8)" * (cast_expression "(uint *)(iVar18 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 8)" ( (binary_expression "iVar18 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppiVar13 < ppiVar5)" ( (binary_expression "ppiVar13 < ppiVar5" identifier < identifier) ))) + identifier)) ;) })) (if_statement "if (iVar6 <= iVar21) break;" if (parenthesized_expression "(iVar6 <= iVar21)" ( (binary_expression "iVar6 <= iVar21" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21,&piStack_140)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) , (pointer_expression "&piStack_140" & identifier) )))) ;) (expression_statement "iVar21 = iVar16 + iVar21;" (assignment_expression "iVar21 = iVar16 + iVar21" identifier = (binary_expression "iVar16 + iVar21" identifier + identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }" else (compound_statement "{\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }" { (expression_statement "iVar16 = piVar7[0x1c];" (assignment_expression "iVar16 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = *(uint *)(iVar16 + 0x1c);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar16 + 0x1c)" * (cast_expression "(uint *)(iVar16 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x1c)" ( (binary_expression "iVar16 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar16 + 0x1c) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0x1c) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0x1c)" * (cast_expression "(uint *)(iVar16 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x1c)" ( (binary_expression "iVar16 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);" (assignment_expression "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (pointer_expression "*(uint *)(iVar16 + 0x18)" * (cast_expression "(uint *)(iVar16 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x18)" ( (binary_expression "iVar16 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar17)" ( (binary_expression "uVar14 < uVar17" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar16 + 0x18)" * (cast_expression "(int *)(iVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x18)" ( (binary_expression "iVar16 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar30 = piVar7[0x1c];" (assignment_expression "iVar30 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar5 = *(int ***)(iVar30 + 0xc);" (assignment_expression "ppiVar5 = *(int ***)(iVar30 + 0xc)" identifier = (pointer_expression "*(int ***)(iVar30 + 0xc)" * (cast_expression "(int ***)(iVar30 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar30 + 0xc)" ( (binary_expression "iVar30 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar30 + 8);" (assignment_expression "iVar16 = *(int *)(iVar30 + 8)" identifier = (pointer_expression "*(int *)(iVar30 + 8)" * (cast_expression "(int *)(iVar30 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) ))))) ;) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" identifier = (cast_expression "(int **)((int)ppiVar5 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar5 + 1)" ( (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int ***)(iVar30 + 0xc) = ppiVar13;" (assignment_expression "*(int ***)(iVar30 + 0xc) = ppiVar13" (pointer_expression "*(int ***)(iVar30 + 0xc)" * (cast_expression "(int ***)(iVar30 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar30 + 0xc)" ( (binary_expression "iVar30 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*(uint *)(iVar30 + 8)" * (cast_expression "(uint *)(iVar30 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppiVar13 < ppiVar5)" ( (binary_expression "ppiVar13 < ppiVar5" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }" if (parenthesized_expression "(iVar21 < iVar6)" ( (binary_expression "iVar21 < iVar6" identifier < identifier) )) (compound_statement "{\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }" { (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" identifier = (pointer_expression "&piStack_140" & identifier)) ;) (expression_statement "iVar18 = (*pcVar19)(iVar27 + iVar21);" (assignment_expression "iVar18 = (*pcVar19)(iVar27 + iVar21)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) )))) ;) (expression_statement "iVar30 = 0x10;" (assignment_expression "iVar30 = 0x10" identifier = number_literal) ;) (expression_statement "iVar21 = iVar21 + iVar18;" (assignment_expression "iVar21 = iVar21 + iVar18" identifier = (binary_expression "iVar21 + iVar18" identifier + identifier)) ;) (goto_statement "goto LAB_00148a68;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_001487f8;" goto statement_identifier ;) })) (if_statement "if (iVar6 <= iVar21) goto LAB_001487f8;" if (parenthesized_expression "(iVar6 <= iVar21)" ( (binary_expression "iVar6 <= iVar21" identifier <= identifier) )) (goto_statement "goto LAB_001487f8;" goto statement_identifier ;)) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21,&piStack_140)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) , (pointer_expression "&piStack_140" & identifier) )))) ;) (expression_statement "iVar30 = iVar21 + iVar30;" (assignment_expression "iVar30 = iVar21 + iVar30" identifier = (binary_expression "iVar21 + iVar30" identifier + identifier)) ;) (goto_statement "goto LAB_001488f8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_001487f8:\n    piVar7[0x1a] = 0;" statement_identifier : (expression_statement "piVar7[0x1a] = 0;" (assignment_expression "piVar7[0x1a] = 0" (subscript_expression "piVar7[0x1a]" identifier [ number_literal ]) = number_literal) ;)) }))) (labeled_statement "LAB_001487fc:\n  piVar12 = (int *)0x0;" statement_identifier : (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }" statement_identifier : (if_statement "if (iStack_134 == *piVar10) {\n    return piVar12;\n  }" if (parenthesized_expression "(iStack_134 == *piVar10)" ( (binary_expression "iStack_134 == *piVar10" identifier == (pointer_expression "*piVar10" * identifier)) )) (compound_statement "{\n    return piVar12;\n  }" { (return_statement "return piVar12;" return identifier ;) }))) (expression_statement "pcVar15 = *(code **)(iVar31 + -0x7b28);" (assignment_expression "pcVar15 = *(code **)(iVar31 + -0x7b28)" identifier = (pointer_expression "*(code **)(iVar31 + -0x7b28)" * (cast_expression "(code **)(iVar31 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7b28)" ( (binary_expression "iVar31 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iStack_134;" (assignment_expression "iVar6 = iStack_134" identifier = identifier) ;) (expression_statement "(*pcVar15)();" (call_expression "(*pcVar15)()" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar10 = ppiVar13[1];" (assignment_expression "piVar10 = ppiVar13[1]" identifier = (subscript_expression "ppiVar13[1]" identifier [ number_literal ])) ;) (if_statement "if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }" if (parenthesized_expression "((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10))" ( (binary_expression "(ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)" (parenthesized_expression "(ppiVar13[7] == (int *)0x0)" ( (binary_expression "ppiVar13[7] == (int *)0x0" (subscript_expression "ppiVar13[7]" identifier [ number_literal ]) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)" ( (comma_expression "iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10" (assignment_expression "iVar31 = *(int *)(pcVar15 + 0x47f90)" identifier = (pointer_expression "*(int *)(pcVar15 + 0x47f90)" * (cast_expression "(int *)(pcVar15 + 0x47f90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x47f90)" ( (binary_expression "pcVar15 + 0x47f90" identifier + number_literal) ))))) , (binary_expression "0 < (int)piVar10" number_literal < (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }" { (expression_statement "iVar30 = 0;" (assignment_expression "iVar30 = 0" identifier = number_literal) ;) (expression_statement "iVar27 = *(int *)(pcVar15 + 0x47f68);" (assignment_expression "iVar27 = *(int *)(pcVar15 + 0x47f68)" identifier = (pointer_expression "*(int *)(pcVar15 + 0x47f68)" * (cast_expression "(int *)(pcVar15 + 0x47f68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x47f68)" ( (binary_expression "pcVar15 + 0x47f68" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));" do (compound_statement "{\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "iVar18 = (*ppiVar13)[iVar30];" (assignment_expression "iVar18 = (*ppiVar13)[iVar30]" identifier = (subscript_expression "(*ppiVar13)[iVar30]" (parenthesized_expression "(*ppiVar13)" ( (pointer_expression "*ppiVar13" * identifier) )) [ identifier ])) ;) (do_statement "do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);" do (compound_statement "{\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      }" { (expression_statement "piVar7 = (int *)FUN_001477fc(iVar6,iVar18);" (assignment_expression "piVar7 = (int *)FUN_001477fc(iVar6,iVar18)" identifier = (cast_expression "(int *)FUN_001477fc(iVar6,iVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001477fc(iVar6,iVar18)" identifier (argument_list "(iVar6,iVar18)" ( identifier , identifier ))))) ;) (if_statement "if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }" if (parenthesized_expression "(piVar7 != (int *)0x0)" ( (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return piVar7;\n        }" { (return_statement "return piVar7;" return identifier ;) })) (if_statement "if (iVar16 == 0) break;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);" (assignment_expression "iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29)" identifier = (call_expression "(*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29)" (parenthesized_expression "(*(code *)(iVar27 + -0x441c))" ( (pointer_expression "*(code *)(iVar27 + -0x441c)" * (cast_expression "(code *)(iVar27 + -0x441c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + -0x441c)" ( (binary_expression "iVar27 + -0x441c" identifier + number_literal) )))) )) (argument_list "(iVar18,iVar16,iVar29)" ( identifier , identifier , identifier )))) ;) }) while (parenthesized_expression "(iVar21 < 0)" ( (binary_expression "iVar21 < 0" identifier < number_literal) )) ;) (if_statement "if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }" if (parenthesized_expression "((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0))" ( (binary_expression "(*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)" (parenthesized_expression "(*(char *)(iVar18 + 4) != '\0')" ( (binary_expression "*(char *)(iVar18 + 4) != '\0'" (pointer_expression "*(char *)(iVar18 + 4)" * (cast_expression "(char *)(iVar18 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 4)" ( (binary_expression "iVar18 + 4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }" { (expression_statement "(*(code *)(iVar31 + -0x4e9c))(iVar18);" (call_expression "(*(code *)(iVar31 + -0x4e9c))(iVar18)" (parenthesized_expression "(*(code *)(iVar31 + -0x4e9c))" ( (pointer_expression "*(code *)(iVar31 + -0x4e9c)" * (cast_expression "(code *)(iVar31 + -0x4e9c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x4e9c)" ( (binary_expression "iVar31 + -0x4e9c" identifier + number_literal) )))) )) (argument_list "(iVar18)" ( identifier ))) ;) })) (expression_statement "iVar30 = iVar30 + 1;" (assignment_expression "iVar30 = iVar30 + 1" identifier = (binary_expression "iVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]))" ( (binary_expression "(ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1])" (parenthesized_expression "(ppiVar13[7] == (int *)0x0)" ( (binary_expression "ppiVar13[7] == (int *)0x0" (subscript_expression "ppiVar13[7]" identifier [ number_literal ]) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar30 < (int)ppiVar13[1])" ( (binary_expression "iVar30 < (int)ppiVar13[1]" identifier < (cast_expression "(int)ppiVar13[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppiVar13[1]" identifier [ number_literal ]))) ))) )) ;) })) (expression_statement "(*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);" (call_expression "(*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))" ( (pointer_expression "*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828)" * (cast_expression "(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar15 + 0x47f00) + 0x5828)" ( (binary_expression "*(int *)(pcVar15 + 0x47f00) + 0x5828" (pointer_expression "*(int *)(pcVar15 + 0x47f00)" * (cast_expression "(int *)(pcVar15 + 0x47f00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x47f00)" ( (binary_expression "pcVar15 + 0x47f00" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0)" ( (pointer_expression "*ppiVar13" * identifier) , identifier , identifier , (binary_expression "*(int *)(pcVar15 + 0x47f68) + -0x44f0" (pointer_expression "*(int *)(pcVar15 + 0x47f68)" * (cast_expression "(int *)(pcVar15 + 0x47f68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x47f68)" ( (binary_expression "pcVar15 + 0x47f68" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nint fts3DeleteByRowid(Fts3Table *p,sqlite3_value *pRowid,int *pnChng,u32 *aSzDel)\n\n{\n  char cVar1;\n  sqlite_int64 iDocid;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  code *pcVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  sqlite3_vtab_cursor *psVar10;\n  sqlite3_vtab *psVar11;\n  sqlite3_vtab *extraout_v1;\n  undefined *puVar12;\n  Fts3Table *p_00;\n  sqlite3_vtab_cursor *psVar13;\n  sqlite3_vtab_cursor *pCursor;\n  Fts3Table *pFVar14;\n  sqlite3_vtab_cursor *psVar15;\n  int *piVar16;\n  code *pcVar17;\n  undefined *puVar18;\n  Fts3MultiSegReader *pCsr;\n  sqlite3_value **ppsVar19;\n  sqlite3_stmt **ppsVar20;\n  int iVar21;\n  int *piVar22;\n  undefined *unaff_s7;\n  undefined *puVar23;\n  int iVar24;\n  undefined *puVar25;\n  int iVar26;\n  undefined4 **ppuVar27;\n  undefined4 *puStack_e8;\n  int iStack_e4;\n  int *piStack_dc;\n  Fts3Table *pFStack_d8;\n  undefined *puStack_d4;\n  sqlite3_value **ppsStack_d0;\n  sqlite3_stmt **ppsStack_cc;\n  code *pcStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  sqlite3_vtab_cursor *psStack_9c;\n  code *pcStack_98;\n  Fts3Table *pFStack_94;\n  undefined *puStack_90;\n  sqlite3_value **ppsStack_8c;\n  sqlite3_stmt **ppsStack_88;\n  u32 *puStack_84;\n  int *piStack_80;\n  undefined *puStack_7c;\n  int iStack_78;\n  code *pcStack_74;\n  Fts3Table *pFStack_6c;\n  int iStack_50;\n  sqlite3_value *psStack_3c;\n  int iStack_38;\n  sqlite3_value *psStack_34;\n  sqlite3_stmt *pStmt;\n  Fts3Table *pFStack_2c;\n  \n  puVar18 = PTR___stack_chk_guard_00190e24;\n  ppsVar20 = &pStmt;\n  ppsVar19 = &psStack_34;\n  pFVar14 = (Fts3Table *)&DAT_00000007;\n  iStack_38 = 0;\n  pcVar17 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  pFStack_2c = *(Fts3Table **)PTR___stack_chk_guard_00190e24;\n  psStack_3c = pRowid;\n  psStack_34 = pRowid;\n  iStack_78 = (*pcVar17)(p,7,ppsVar20,ppsVar19);\n  puVar25 = PTR_sqlite3_step_00190990;\n  puVar23 = unaff_s7;\n  if (iStack_78 == 0) {\n    iVar4 = (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n    if (iVar4 == 100) {\n      if (p->zLanguageid == (char *)0x0) {\n        iStack_50 = 0;\n      }\n      else {\n        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);\n      }\n      iDocid = (*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0);\n      pFVar14 = (Fts3Table *)0x1;\n      iVar4 = fts3PendingTermsDocid(p,1,iStack_50,iDocid);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (iVar4 == 0) {\n        puVar12 = (undefined *)0x1;\n        pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        } while (iVar4 == 0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n      puVar23 = unaff_s7;\n      iStack_78 = iVar4;\n    }\n    else {\n      iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n  }\nLAB_0014a65c:\n  if (pFStack_2c == *(Fts3Table **)puVar18) {\n    return iStack_78;\n  }\n  pcVar5 = fts3DoOptimize;\n  p_00 = pFStack_2c;\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar25 + 0x4e0e0;\n  piVar16 = &iStack_a0;\n  puStack_90 = puVar18;\n  piVar22 = *(int **)(puVar25 + 0x465e4);\n  iStack_a0 = 0;\n  psStack_9c = (sqlite3_vtab_cursor *)*piVar22;\n  pcStack_98 = pcVar17;\n  pFStack_94 = p;\n  ppsStack_8c = ppsVar19;\n  ppsStack_88 = ppsVar20;\n  puStack_84 = aSzDel;\n  piStack_80 = pnChng;\n  puStack_7c = puVar23;\n  pcStack_74 = pcVar5;\n  pFStack_6c = pFVar14;\n  piVar8 = (int *)(*(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8))();\n  if (piVar8 == (int *)0x0) {\n    pcVar17 = *(code **)(puStack_b0 + -0x7e90);\n    ppsVar19 = (sqlite3_value **)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    aSzDel = *(u32 **)(puStack_b0 + -0x7f90);\n    (*pcVar17)(iStack_a0,1,p_00->iPrevLangid >> 0x1f);\n    piVar16 = (int *)(p_00->nIndex >> 0x1f);\n    (*pcVar17)(iStack_a0,2);\n    puVar18 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    ppsVar20 = (sqlite3_stmt **)&DAT_00000064;\n    piVar8 = (int *)0x0;\n    iVar4 = (*(code *)aSzDel)(iStack_a0);\n    while (iVar4 == 100) {\n      p = (Fts3Table *)0x65;\n      iVar4 = (*pcStack_a4)(iStack_a0,0);\n      piVar9 = piVar8;\n      while (piVar8 == (int *)0x0) {\n        if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        while( true ) {\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }\n      }\n      iVar4 = (*(code *)aSzDel)(iStack_a0);\n    }\n    piVar9 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    if (piVar8 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n    if (((piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0)) &&\n       (piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0)) {\n      piVar9 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar9 = piVar8;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n  }\n  if (psStack_9c == (sqlite3_vtab_cursor *)*piVar22) {\n    return (int)piVar9;\n  }\n  pcVar17 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar5 = fts3OptimizeFunc;\n  psVar13 = psStack_9c;\n  (*pcVar17)();\n  ppuVar27 = &puStack_e8;\n  psVar15 = psVar13 + 5;\n  piVar8 = *(int **)(pcVar17 + 0x46394);\n  iVar7 = *piVar16;\n  iStack_e4 = *piVar8;\n  pCursor = psVar13;\n  psVar10 = psVar15;\n  piStack_dc = piVar9;\n  pFStack_d8 = p;\n  puStack_d4 = puVar18;\n  ppsStack_d0 = ppsVar19;\n  ppsStack_cc = ppsVar20;\n  pcStack_c8 = (code *)aSzDel;\n  pcStack_c4 = pcVar5;\n  iVar4 = (*(code *)(*(int *)(pcVar17 + 0x4613c) + -0x2a6c))();\n  if (iVar4 == 0) {\n    iVar7 = 0;\n    pcVar5 = *(code **)(pcVar17 + 0x45fb8);\n    pFVar14 = (Fts3Table *)*puStack_e8;\n    ppuVar27 = (undefined4 **)0x0;\n    psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0);\n    if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n    psVar10 = (sqlite3_vtab_cursor *)fts3DoOptimize(pFVar14,1);\n    if (psVar10 == (sqlite3_vtab_cursor *)0x0) {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n      if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n      pFVar14->pSegments = (sqlite3_blob *)0x0;\nLAB_0014abe4:\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64;\n    }\n    else {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      if (psVar10 == (sqlite3_vtab_cursor *)0x65) {\n        psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n      }\n      else {\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74;\n    }\n    iVar7 = -1;\n    ppuVar27 = (undefined4 **)0x1;\n    (*(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0))(psVar13,psVar15,iVar4,0xffffffff,1,0);\n    pCursor = psVar13;\n    psVar10 = psVar15;\n  }\nLAB_0014ab04:\n  iVar4 = *piVar8;\n  if (iStack_e4 == iVar4) {\n    return iVar4;\n  }\n  pcVar17 = *(code **)(pcVar17 + 0x46368);\n  (*pcVar17)();\n  pCsr = (Fts3MultiSegReader *)(pCursor + 1);\n  pFVar14 = (Fts3Table *)pCursor->pVtab[1].pModule;\n  if (psVar10 == (sqlite3_vtab_cursor *)0x1) {\n    if (iVar7 < 2) {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n    else {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = 1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n  }\n  else {\n    if (((uint)psVar10 & 2) == 0) {\n      iVar24 = -1;\n      iVar4 = 0;\n      iVar21 = 0;\n      if (((uint)psVar10 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar21 = -1;\n      if (iVar4 < iVar7) {\n        iVar26 = *(int *)(pcVar17 + 0x45ef0);\n        goto LAB_0014aeb4;\n      }\nLAB_0014ad60:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    else {\n      iVar4 = 1;\n      iVar24 = 0;\n      iVar21 = iVar4;\n      if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar4 = iVar21 + 1;\n      iVar26 = *(int *)(pcVar17 + 0x45ef0);\n      if (iVar7 <= iVar4) goto LAB_0014ad60;\nLAB_0014aeb4:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(iVar26 + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    iVar7 = 1;\n    if (iVar24 != 0) goto LAB_0014ae0c;\n  }\n  iVar24 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(*ppuVar27,1);\n  if (iVar24 != 0) {\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24);\n    pCursor[0xf].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x10].pVtab = psVar11;\n  }\nLAB_0014ae0c:\n  if (iVar21 != -1) {\n    uVar6 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(ppuVar27[iVar21],1);\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6);\n    pCursor[0x13].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x14].pVtab = psVar11;\n  }\n  if (iVar4 == -1) {\n    psVar11 = (sqlite3_vtab *)0x0;\n  }\n  else {\n    (*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68))(ppuVar27[iVar4]);\n    psVar11 = extraout_v1;\n    if ((int)extraout_v1 < 0) {\n      psVar11 = (sqlite3_vtab *)0x0;\n    }\n  }\n  pCursor[0x15].pVtab = psVar11;\n  iVar4 = sqlite3Fts3SegReaderCursor\n                    (pFVar14,(int)psVar11,0,-2,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab,0\n                     ,iVar7,pCsr);\n  if (iVar4 == 0) {\n    pCursor[4].pVtab = (sqlite3_vtab *)(pCursor + 0xf);\n    iVar4 = fts3SegReaderStart(pFVar14,pCsr,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab);\n    if (iVar4 == 0) {\n      iVar4 = fts3auxNextMethod(pCursor);\n      return iVar4;\n    }\n  }\n  return iVar4;\n}\n\n" comment (function_definition "int fts3DeleteByRowid(Fts3Table *p,sqlite3_value *pRowid,int *pnChng,u32 *aSzDel)\n\n{\n  char cVar1;\n  sqlite_int64 iDocid;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  code *pcVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  sqlite3_vtab_cursor *psVar10;\n  sqlite3_vtab *psVar11;\n  sqlite3_vtab *extraout_v1;\n  undefined *puVar12;\n  Fts3Table *p_00;\n  sqlite3_vtab_cursor *psVar13;\n  sqlite3_vtab_cursor *pCursor;\n  Fts3Table *pFVar14;\n  sqlite3_vtab_cursor *psVar15;\n  int *piVar16;\n  code *pcVar17;\n  undefined *puVar18;\n  Fts3MultiSegReader *pCsr;\n  sqlite3_value **ppsVar19;\n  sqlite3_stmt **ppsVar20;\n  int iVar21;\n  int *piVar22;\n  undefined *unaff_s7;\n  undefined *puVar23;\n  int iVar24;\n  undefined *puVar25;\n  int iVar26;\n  undefined4 **ppuVar27;\n  undefined4 *puStack_e8;\n  int iStack_e4;\n  int *piStack_dc;\n  Fts3Table *pFStack_d8;\n  undefined *puStack_d4;\n  sqlite3_value **ppsStack_d0;\n  sqlite3_stmt **ppsStack_cc;\n  code *pcStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  sqlite3_vtab_cursor *psStack_9c;\n  code *pcStack_98;\n  Fts3Table *pFStack_94;\n  undefined *puStack_90;\n  sqlite3_value **ppsStack_8c;\n  sqlite3_stmt **ppsStack_88;\n  u32 *puStack_84;\n  int *piStack_80;\n  undefined *puStack_7c;\n  int iStack_78;\n  code *pcStack_74;\n  Fts3Table *pFStack_6c;\n  int iStack_50;\n  sqlite3_value *psStack_3c;\n  int iStack_38;\n  sqlite3_value *psStack_34;\n  sqlite3_stmt *pStmt;\n  Fts3Table *pFStack_2c;\n  \n  puVar18 = PTR___stack_chk_guard_00190e24;\n  ppsVar20 = &pStmt;\n  ppsVar19 = &psStack_34;\n  pFVar14 = (Fts3Table *)&DAT_00000007;\n  iStack_38 = 0;\n  pcVar17 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  pFStack_2c = *(Fts3Table **)PTR___stack_chk_guard_00190e24;\n  psStack_3c = pRowid;\n  psStack_34 = pRowid;\n  iStack_78 = (*pcVar17)(p,7,ppsVar20,ppsVar19);\n  puVar25 = PTR_sqlite3_step_00190990;\n  puVar23 = unaff_s7;\n  if (iStack_78 == 0) {\n    iVar4 = (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n    if (iVar4 == 100) {\n      if (p->zLanguageid == (char *)0x0) {\n        iStack_50 = 0;\n      }\n      else {\n        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);\n      }\n      iDocid = (*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0);\n      pFVar14 = (Fts3Table *)0x1;\n      iVar4 = fts3PendingTermsDocid(p,1,iStack_50,iDocid);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (iVar4 == 0) {\n        puVar12 = (undefined *)0x1;\n        pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        } while (iVar4 == 0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n      puVar23 = unaff_s7;\n      iStack_78 = iVar4;\n    }\n    else {\n      iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n  }\nLAB_0014a65c:\n  if (pFStack_2c == *(Fts3Table **)puVar18) {\n    return iStack_78;\n  }\n  pcVar5 = fts3DoOptimize;\n  p_00 = pFStack_2c;\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar25 + 0x4e0e0;\n  piVar16 = &iStack_a0;\n  puStack_90 = puVar18;\n  piVar22 = *(int **)(puVar25 + 0x465e4);\n  iStack_a0 = 0;\n  psStack_9c = (sqlite3_vtab_cursor *)*piVar22;\n  pcStack_98 = pcVar17;\n  pFStack_94 = p;\n  ppsStack_8c = ppsVar19;\n  ppsStack_88 = ppsVar20;\n  puStack_84 = aSzDel;\n  piStack_80 = pnChng;\n  puStack_7c = puVar23;\n  pcStack_74 = pcVar5;\n  pFStack_6c = pFVar14;\n  piVar8 = (int *)(*(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8))();\n  if (piVar8 == (int *)0x0) {\n    pcVar17 = *(code **)(puStack_b0 + -0x7e90);\n    ppsVar19 = (sqlite3_value **)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    aSzDel = *(u32 **)(puStack_b0 + -0x7f90);\n    (*pcVar17)(iStack_a0,1,p_00->iPrevLangid >> 0x1f);\n    piVar16 = (int *)(p_00->nIndex >> 0x1f);\n    (*pcVar17)(iStack_a0,2);\n    puVar18 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    ppsVar20 = (sqlite3_stmt **)&DAT_00000064;\n    piVar8 = (int *)0x0;\n    iVar4 = (*(code *)aSzDel)(iStack_a0);\n    while (iVar4 == 100) {\n      p = (Fts3Table *)0x65;\n      iVar4 = (*pcStack_a4)(iStack_a0,0);\n      piVar9 = piVar8;\n      while (piVar8 == (int *)0x0) {\n        if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        while( true ) {\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }\n      }\n      iVar4 = (*(code *)aSzDel)(iStack_a0);\n    }\n    piVar9 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    if (piVar8 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n    if (((piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0)) &&\n       (piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0)) {\n      piVar9 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar9 = piVar8;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n  }\n  if (psStack_9c == (sqlite3_vtab_cursor *)*piVar22) {\n    return (int)piVar9;\n  }\n  pcVar17 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar5 = fts3OptimizeFunc;\n  psVar13 = psStack_9c;\n  (*pcVar17)();\n  ppuVar27 = &puStack_e8;\n  psVar15 = psVar13 + 5;\n  piVar8 = *(int **)(pcVar17 + 0x46394);\n  iVar7 = *piVar16;\n  iStack_e4 = *piVar8;\n  pCursor = psVar13;\n  psVar10 = psVar15;\n  piStack_dc = piVar9;\n  pFStack_d8 = p;\n  puStack_d4 = puVar18;\n  ppsStack_d0 = ppsVar19;\n  ppsStack_cc = ppsVar20;\n  pcStack_c8 = (code *)aSzDel;\n  pcStack_c4 = pcVar5;\n  iVar4 = (*(code *)(*(int *)(pcVar17 + 0x4613c) + -0x2a6c))();\n  if (iVar4 == 0) {\n    iVar7 = 0;\n    pcVar5 = *(code **)(pcVar17 + 0x45fb8);\n    pFVar14 = (Fts3Table *)*puStack_e8;\n    ppuVar27 = (undefined4 **)0x0;\n    psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0);\n    if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n    psVar10 = (sqlite3_vtab_cursor *)fts3DoOptimize(pFVar14,1);\n    if (psVar10 == (sqlite3_vtab_cursor *)0x0) {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n      if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n      pFVar14->pSegments = (sqlite3_blob *)0x0;\nLAB_0014abe4:\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64;\n    }\n    else {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      if (psVar10 == (sqlite3_vtab_cursor *)0x65) {\n        psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n      }\n      else {\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74;\n    }\n    iVar7 = -1;\n    ppuVar27 = (undefined4 **)0x1;\n    (*(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0))(psVar13,psVar15,iVar4,0xffffffff,1,0);\n    pCursor = psVar13;\n    psVar10 = psVar15;\n  }\nLAB_0014ab04:\n  iVar4 = *piVar8;\n  if (iStack_e4 == iVar4) {\n    return iVar4;\n  }\n  pcVar17 = *(code **)(pcVar17 + 0x46368);\n  (*pcVar17)();\n  pCsr = (Fts3MultiSegReader *)(pCursor + 1);\n  pFVar14 = (Fts3Table *)pCursor->pVtab[1].pModule;\n  if (psVar10 == (sqlite3_vtab_cursor *)0x1) {\n    if (iVar7 < 2) {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n    else {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = 1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n  }\n  else {\n    if (((uint)psVar10 & 2) == 0) {\n      iVar24 = -1;\n      iVar4 = 0;\n      iVar21 = 0;\n      if (((uint)psVar10 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar21 = -1;\n      if (iVar4 < iVar7) {\n        iVar26 = *(int *)(pcVar17 + 0x45ef0);\n        goto LAB_0014aeb4;\n      }\nLAB_0014ad60:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    else {\n      iVar4 = 1;\n      iVar24 = 0;\n      iVar21 = iVar4;\n      if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar4 = iVar21 + 1;\n      iVar26 = *(int *)(pcVar17 + 0x45ef0);\n      if (iVar7 <= iVar4) goto LAB_0014ad60;\nLAB_0014aeb4:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(iVar26 + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    iVar7 = 1;\n    if (iVar24 != 0) goto LAB_0014ae0c;\n  }\n  iVar24 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(*ppuVar27,1);\n  if (iVar24 != 0) {\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24);\n    pCursor[0xf].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x10].pVtab = psVar11;\n  }\nLAB_0014ae0c:\n  if (iVar21 != -1) {\n    uVar6 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(ppuVar27[iVar21],1);\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6);\n    pCursor[0x13].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x14].pVtab = psVar11;\n  }\n  if (iVar4 == -1) {\n    psVar11 = (sqlite3_vtab *)0x0;\n  }\n  else {\n    (*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68))(ppuVar27[iVar4]);\n    psVar11 = extraout_v1;\n    if ((int)extraout_v1 < 0) {\n      psVar11 = (sqlite3_vtab *)0x0;\n    }\n  }\n  pCursor[0x15].pVtab = psVar11;\n  iVar4 = sqlite3Fts3SegReaderCursor\n                    (pFVar14,(int)psVar11,0,-2,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab,0\n                     ,iVar7,pCsr);\n  if (iVar4 == 0) {\n    pCursor[4].pVtab = (sqlite3_vtab *)(pCursor + 0xf);\n    iVar4 = fts3SegReaderStart(pFVar14,pCsr,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab);\n    if (iVar4 == 0) {\n      iVar4 = fts3auxNextMethod(pCursor);\n      return iVar4;\n    }\n  }\n  return iVar4;\n}" primitive_type (function_declarator "fts3DeleteByRowid(Fts3Table *p,sqlite3_value *pRowid,int *pnChng,u32 *aSzDel)" identifier (parameter_list "(Fts3Table *p,sqlite3_value *pRowid,int *pnChng,u32 *aSzDel)" ( (parameter_declaration "Fts3Table *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "sqlite3_value *pRowid" type_identifier (pointer_declarator "*pRowid" * identifier)) , (parameter_declaration "int *pnChng" primitive_type (pointer_declarator "*pnChng" * identifier)) , (parameter_declaration "u32 *aSzDel" type_identifier (pointer_declarator "*aSzDel" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  sqlite_int64 iDocid;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  code *pcVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  sqlite3_vtab_cursor *psVar10;\n  sqlite3_vtab *psVar11;\n  sqlite3_vtab *extraout_v1;\n  undefined *puVar12;\n  Fts3Table *p_00;\n  sqlite3_vtab_cursor *psVar13;\n  sqlite3_vtab_cursor *pCursor;\n  Fts3Table *pFVar14;\n  sqlite3_vtab_cursor *psVar15;\n  int *piVar16;\n  code *pcVar17;\n  undefined *puVar18;\n  Fts3MultiSegReader *pCsr;\n  sqlite3_value **ppsVar19;\n  sqlite3_stmt **ppsVar20;\n  int iVar21;\n  int *piVar22;\n  undefined *unaff_s7;\n  undefined *puVar23;\n  int iVar24;\n  undefined *puVar25;\n  int iVar26;\n  undefined4 **ppuVar27;\n  undefined4 *puStack_e8;\n  int iStack_e4;\n  int *piStack_dc;\n  Fts3Table *pFStack_d8;\n  undefined *puStack_d4;\n  sqlite3_value **ppsStack_d0;\n  sqlite3_stmt **ppsStack_cc;\n  code *pcStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  sqlite3_vtab_cursor *psStack_9c;\n  code *pcStack_98;\n  Fts3Table *pFStack_94;\n  undefined *puStack_90;\n  sqlite3_value **ppsStack_8c;\n  sqlite3_stmt **ppsStack_88;\n  u32 *puStack_84;\n  int *piStack_80;\n  undefined *puStack_7c;\n  int iStack_78;\n  code *pcStack_74;\n  Fts3Table *pFStack_6c;\n  int iStack_50;\n  sqlite3_value *psStack_3c;\n  int iStack_38;\n  sqlite3_value *psStack_34;\n  sqlite3_stmt *pStmt;\n  Fts3Table *pFStack_2c;\n  \n  puVar18 = PTR___stack_chk_guard_00190e24;\n  ppsVar20 = &pStmt;\n  ppsVar19 = &psStack_34;\n  pFVar14 = (Fts3Table *)&DAT_00000007;\n  iStack_38 = 0;\n  pcVar17 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  pFStack_2c = *(Fts3Table **)PTR___stack_chk_guard_00190e24;\n  psStack_3c = pRowid;\n  psStack_34 = pRowid;\n  iStack_78 = (*pcVar17)(p,7,ppsVar20,ppsVar19);\n  puVar25 = PTR_sqlite3_step_00190990;\n  puVar23 = unaff_s7;\n  if (iStack_78 == 0) {\n    iVar4 = (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n    if (iVar4 == 100) {\n      if (p->zLanguageid == (char *)0x0) {\n        iStack_50 = 0;\n      }\n      else {\n        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);\n      }\n      iDocid = (*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0);\n      pFVar14 = (Fts3Table *)0x1;\n      iVar4 = fts3PendingTermsDocid(p,1,iStack_50,iDocid);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (iVar4 == 0) {\n        puVar12 = (undefined *)0x1;\n        pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        } while (iVar4 == 0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n      puVar23 = unaff_s7;\n      iStack_78 = iVar4;\n    }\n    else {\n      iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n  }\nLAB_0014a65c:\n  if (pFStack_2c == *(Fts3Table **)puVar18) {\n    return iStack_78;\n  }\n  pcVar5 = fts3DoOptimize;\n  p_00 = pFStack_2c;\n  puVar25 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar25 + 0x4e0e0;\n  piVar16 = &iStack_a0;\n  puStack_90 = puVar18;\n  piVar22 = *(int **)(puVar25 + 0x465e4);\n  iStack_a0 = 0;\n  psStack_9c = (sqlite3_vtab_cursor *)*piVar22;\n  pcStack_98 = pcVar17;\n  pFStack_94 = p;\n  ppsStack_8c = ppsVar19;\n  ppsStack_88 = ppsVar20;\n  puStack_84 = aSzDel;\n  piStack_80 = pnChng;\n  puStack_7c = puVar23;\n  pcStack_74 = pcVar5;\n  pFStack_6c = pFVar14;\n  piVar8 = (int *)(*(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8))();\n  if (piVar8 == (int *)0x0) {\n    pcVar17 = *(code **)(puStack_b0 + -0x7e90);\n    ppsVar19 = (sqlite3_value **)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    aSzDel = *(u32 **)(puStack_b0 + -0x7f90);\n    (*pcVar17)(iStack_a0,1,p_00->iPrevLangid >> 0x1f);\n    piVar16 = (int *)(p_00->nIndex >> 0x1f);\n    (*pcVar17)(iStack_a0,2);\n    puVar18 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    ppsVar20 = (sqlite3_stmt **)&DAT_00000064;\n    piVar8 = (int *)0x0;\n    iVar4 = (*(code *)aSzDel)(iStack_a0);\n    while (iVar4 == 100) {\n      p = (Fts3Table *)0x65;\n      iVar4 = (*pcStack_a4)(iStack_a0,0);\n      piVar9 = piVar8;\n      while (piVar8 == (int *)0x0) {\n        if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        while( true ) {\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }\n      }\n      iVar4 = (*(code *)aSzDel)(iStack_a0);\n    }\n    piVar9 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    if (piVar8 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n    if (((piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0)) &&\n       (piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0)) {\n      piVar9 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar9 = piVar8;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n  }\n  if (psStack_9c == (sqlite3_vtab_cursor *)*piVar22) {\n    return (int)piVar9;\n  }\n  pcVar17 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar5 = fts3OptimizeFunc;\n  psVar13 = psStack_9c;\n  (*pcVar17)();\n  ppuVar27 = &puStack_e8;\n  psVar15 = psVar13 + 5;\n  piVar8 = *(int **)(pcVar17 + 0x46394);\n  iVar7 = *piVar16;\n  iStack_e4 = *piVar8;\n  pCursor = psVar13;\n  psVar10 = psVar15;\n  piStack_dc = piVar9;\n  pFStack_d8 = p;\n  puStack_d4 = puVar18;\n  ppsStack_d0 = ppsVar19;\n  ppsStack_cc = ppsVar20;\n  pcStack_c8 = (code *)aSzDel;\n  pcStack_c4 = pcVar5;\n  iVar4 = (*(code *)(*(int *)(pcVar17 + 0x4613c) + -0x2a6c))();\n  if (iVar4 == 0) {\n    iVar7 = 0;\n    pcVar5 = *(code **)(pcVar17 + 0x45fb8);\n    pFVar14 = (Fts3Table *)*puStack_e8;\n    ppuVar27 = (undefined4 **)0x0;\n    psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0);\n    if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n    psVar10 = (sqlite3_vtab_cursor *)fts3DoOptimize(pFVar14,1);\n    if (psVar10 == (sqlite3_vtab_cursor *)0x0) {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n      if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n      pFVar14->pSegments = (sqlite3_blob *)0x0;\nLAB_0014abe4:\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64;\n    }\n    else {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      if (psVar10 == (sqlite3_vtab_cursor *)0x65) {\n        psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n      }\n      else {\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74;\n    }\n    iVar7 = -1;\n    ppuVar27 = (undefined4 **)0x1;\n    (*(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0))(psVar13,psVar15,iVar4,0xffffffff,1,0);\n    pCursor = psVar13;\n    psVar10 = psVar15;\n  }\nLAB_0014ab04:\n  iVar4 = *piVar8;\n  if (iStack_e4 == iVar4) {\n    return iVar4;\n  }\n  pcVar17 = *(code **)(pcVar17 + 0x46368);\n  (*pcVar17)();\n  pCsr = (Fts3MultiSegReader *)(pCursor + 1);\n  pFVar14 = (Fts3Table *)pCursor->pVtab[1].pModule;\n  if (psVar10 == (sqlite3_vtab_cursor *)0x1) {\n    if (iVar7 < 2) {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n    else {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = 1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n  }\n  else {\n    if (((uint)psVar10 & 2) == 0) {\n      iVar24 = -1;\n      iVar4 = 0;\n      iVar21 = 0;\n      if (((uint)psVar10 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar21 = -1;\n      if (iVar4 < iVar7) {\n        iVar26 = *(int *)(pcVar17 + 0x45ef0);\n        goto LAB_0014aeb4;\n      }\nLAB_0014ad60:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    else {\n      iVar4 = 1;\n      iVar24 = 0;\n      iVar21 = iVar4;\n      if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar4 = iVar21 + 1;\n      iVar26 = *(int *)(pcVar17 + 0x45ef0);\n      if (iVar7 <= iVar4) goto LAB_0014ad60;\nLAB_0014aeb4:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(iVar26 + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    iVar7 = 1;\n    if (iVar24 != 0) goto LAB_0014ae0c;\n  }\n  iVar24 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(*ppuVar27,1);\n  if (iVar24 != 0) {\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24);\n    pCursor[0xf].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x10].pVtab = psVar11;\n  }\nLAB_0014ae0c:\n  if (iVar21 != -1) {\n    uVar6 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(ppuVar27[iVar21],1);\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6);\n    pCursor[0x13].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x14].pVtab = psVar11;\n  }\n  if (iVar4 == -1) {\n    psVar11 = (sqlite3_vtab *)0x0;\n  }\n  else {\n    (*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68))(ppuVar27[iVar4]);\n    psVar11 = extraout_v1;\n    if ((int)extraout_v1 < 0) {\n      psVar11 = (sqlite3_vtab *)0x0;\n    }\n  }\n  pCursor[0x15].pVtab = psVar11;\n  iVar4 = sqlite3Fts3SegReaderCursor\n                    (pFVar14,(int)psVar11,0,-2,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab,0\n                     ,iVar7,pCsr);\n  if (iVar4 == 0) {\n    pCursor[4].pVtab = (sqlite3_vtab *)(pCursor + 0xf);\n    iVar4 = fts3SegReaderStart(pFVar14,pCsr,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab);\n    if (iVar4 == 0) {\n      iVar4 = fts3auxNextMethod(pCursor);\n      return iVar4;\n    }\n  }\n  return iVar4;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "sqlite_int64 iDocid;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "sqlite3_vtab_cursor *psVar10;" type_identifier (pointer_declarator "*psVar10" * identifier) ;) (declaration "sqlite3_vtab *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "sqlite3_vtab *extraout_v1;" type_identifier (pointer_declarator "*extraout_v1" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "Fts3Table *p_00;" type_identifier (pointer_declarator "*p_00" * identifier) ;) (declaration "sqlite3_vtab_cursor *psVar13;" type_identifier (pointer_declarator "*psVar13" * identifier) ;) (declaration "sqlite3_vtab_cursor *pCursor;" type_identifier (pointer_declarator "*pCursor" * identifier) ;) (declaration "Fts3Table *pFVar14;" type_identifier (pointer_declarator "*pFVar14" * identifier) ;) (declaration "sqlite3_vtab_cursor *psVar15;" type_identifier (pointer_declarator "*psVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "Fts3MultiSegReader *pCsr;" type_identifier (pointer_declarator "*pCsr" * identifier) ;) (declaration "sqlite3_value **ppsVar19;" type_identifier (pointer_declarator "**ppsVar19" * (pointer_declarator "*ppsVar19" * identifier)) ;) (declaration "sqlite3_stmt **ppsVar20;" type_identifier (pointer_declarator "**ppsVar20" * (pointer_declarator "*ppsVar20" * identifier)) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "undefined *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "undefined4 **ppuVar27;" type_identifier (pointer_declarator "**ppuVar27" * (pointer_declarator "*ppuVar27" * identifier)) ;) (declaration "undefined4 *puStack_e8;" type_identifier (pointer_declarator "*puStack_e8" * identifier) ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "Fts3Table *pFStack_d8;" type_identifier (pointer_declarator "*pFStack_d8" * identifier) ;) (declaration "undefined *puStack_d4;" type_identifier (pointer_declarator "*puStack_d4" * identifier) ;) (declaration "sqlite3_value **ppsStack_d0;" type_identifier (pointer_declarator "**ppsStack_d0" * (pointer_declarator "*ppsStack_d0" * identifier)) ;) (declaration "sqlite3_stmt **ppsStack_cc;" type_identifier (pointer_declarator "**ppsStack_cc" * (pointer_declarator "*ppsStack_cc" * identifier)) ;) (declaration "code *pcStack_c8;" type_identifier (pointer_declarator "*pcStack_c8" * identifier) ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "undefined *puStack_b0;" type_identifier (pointer_declarator "*puStack_b0" * identifier) ;) (declaration "code *pcStack_a4;" type_identifier (pointer_declarator "*pcStack_a4" * identifier) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "sqlite3_vtab_cursor *psStack_9c;" type_identifier (pointer_declarator "*psStack_9c" * identifier) ;) (declaration "code *pcStack_98;" type_identifier (pointer_declarator "*pcStack_98" * identifier) ;) (declaration "Fts3Table *pFStack_94;" type_identifier (pointer_declarator "*pFStack_94" * identifier) ;) (declaration "undefined *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "sqlite3_value **ppsStack_8c;" type_identifier (pointer_declarator "**ppsStack_8c" * (pointer_declarator "*ppsStack_8c" * identifier)) ;) (declaration "sqlite3_stmt **ppsStack_88;" type_identifier (pointer_declarator "**ppsStack_88" * (pointer_declarator "*ppsStack_88" * identifier)) ;) (declaration "u32 *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "int *piStack_80;" primitive_type (pointer_declarator "*piStack_80" * identifier) ;) (declaration "undefined *puStack_7c;" type_identifier (pointer_declarator "*puStack_7c" * identifier) ;) (declaration "int iStack_78;" primitive_type identifier ;) (declaration "code *pcStack_74;" type_identifier (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "Fts3Table *pFStack_6c;" type_identifier (pointer_declarator "*pFStack_6c" * identifier) ;) (declaration "int iStack_50;" primitive_type identifier ;) (declaration "sqlite3_value *psStack_3c;" type_identifier (pointer_declarator "*psStack_3c" * identifier) ;) (declaration "int iStack_38;" primitive_type identifier ;) (declaration "sqlite3_value *psStack_34;" type_identifier (pointer_declarator "*psStack_34" * identifier) ;) (declaration "sqlite3_stmt *pStmt;" type_identifier (pointer_declarator "*pStmt" * identifier) ;) (declaration "Fts3Table *pFStack_2c;" type_identifier (pointer_declarator "*pFStack_2c" * identifier) ;) (expression_statement "puVar18 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar18 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "ppsVar20 = &pStmt;" (assignment_expression "ppsVar20 = &pStmt" identifier = (pointer_expression "&pStmt" & identifier)) ;) (expression_statement "ppsVar19 = &psStack_34;" (assignment_expression "ppsVar19 = &psStack_34" identifier = (pointer_expression "&psStack_34" & identifier)) ;) (expression_statement "pFVar14 = (Fts3Table *)&DAT_00000007;" (assignment_expression "pFVar14 = (Fts3Table *)&DAT_00000007" identifier = (cast_expression "(Fts3Table *)&DAT_00000007" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "iStack_38 = 0;" (assignment_expression "iStack_38 = 0" identifier = number_literal) ;) (expression_statement "pcVar17 = (code *)(PTR_LAB_00190c64 + 0x10f8);" (assignment_expression "pcVar17 = (code *)(PTR_LAB_00190c64 + 0x10f8)" identifier = (cast_expression "(code *)(PTR_LAB_00190c64 + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c64 + 0x10f8)" ( (binary_expression "PTR_LAB_00190c64 + 0x10f8" identifier + number_literal) )))) ;) (expression_statement "pFStack_2c = *(Fts3Table **)PTR___stack_chk_guard_00190e24;" (assignment_expression "pFStack_2c = *(Fts3Table **)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(Fts3Table **)PTR___stack_chk_guard_00190e24" * (cast_expression "(Fts3Table **)PTR___stack_chk_guard_00190e24" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "psStack_3c = pRowid;" (assignment_expression "psStack_3c = pRowid" identifier = identifier) ;) (expression_statement "psStack_34 = pRowid;" (assignment_expression "psStack_34 = pRowid" identifier = identifier) ;) (expression_statement "iStack_78 = (*pcVar17)(p,7,ppsVar20,ppsVar19);" (assignment_expression "iStack_78 = (*pcVar17)(p,7,ppsVar20,ppsVar19)" identifier = (call_expression "(*pcVar17)(p,7,ppsVar20,ppsVar19)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(p,7,ppsVar20,ppsVar19)" ( identifier , number_literal , identifier , identifier )))) ;) (expression_statement "puVar25 = PTR_sqlite3_step_00190990;" (assignment_expression "puVar25 = PTR_sqlite3_step_00190990" identifier = identifier) ;) (expression_statement "puVar23 = unaff_s7;" (assignment_expression "puVar23 = unaff_s7" identifier = identifier) ;) (if_statement "if (iStack_78 == 0) {\n    iVar4 = (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n    if (iVar4 == 100) {\n      if (p->zLanguageid == (char *)0x0) {\n        iStack_50 = 0;\n      }\n      else {\n        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);\n      }\n      iDocid = (*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0);\n      pFVar14 = (Fts3Table *)0x1;\n      iVar4 = fts3PendingTermsDocid(p,1,iStack_50,iDocid);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (iVar4 == 0) {\n        puVar12 = (undefined *)0x1;\n        pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        } while (iVar4 == 0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n      puVar23 = unaff_s7;\n      iStack_78 = iVar4;\n    }\n    else {\n      iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n  }" if (parenthesized_expression "(iStack_78 == 0)" ( (binary_expression "iStack_78 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar4 = (*(code *)PTR_sqlite3_step_00190990)(pStmt);\n    if (iVar4 == 100) {\n      if (p->zLanguageid == (char *)0x0) {\n        iStack_50 = 0;\n      }\n      else {\n        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);\n      }\n      iDocid = (*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0);\n      pFVar14 = (Fts3Table *)0x1;\n      iVar4 = fts3PendingTermsDocid(p,1,iStack_50,iDocid);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (iVar4 == 0) {\n        puVar12 = (undefined *)0x1;\n        pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        } while (iVar4 == 0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n      puVar23 = unaff_s7;\n      iStack_78 = iVar4;\n    }\n    else {\n      iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n    }\n  }" { (expression_statement "iVar4 = (*(code *)PTR_sqlite3_step_00190990)(pStmt);" (assignment_expression "iVar4 = (*(code *)PTR_sqlite3_step_00190990)(pStmt)" identifier = (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 )))) ;) (if_statement "if (iVar4 == 100) {\n      if (p->zLanguageid == (char *)0x0) {\n        iStack_50 = 0;\n      }\n      else {\n        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);\n      }\n      iDocid = (*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0);\n      pFVar14 = (Fts3Table *)0x1;\n      iVar4 = fts3PendingTermsDocid(p,1,iStack_50,iDocid);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (iVar4 == 0) {\n        puVar12 = (undefined *)0x1;\n        pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        } while (iVar4 == 0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n      puVar23 = unaff_s7;\n      iStack_78 = iVar4;\n    }\n    else {\n      iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n    }" if (parenthesized_expression "(iVar4 == 100)" ( (binary_expression "iVar4 == 100" identifier == number_literal) )) (compound_statement "{\n      if (p->zLanguageid == (char *)0x0) {\n        iStack_50 = 0;\n      }\n      else {\n        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);\n      }\n      iDocid = (*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0);\n      pFVar14 = (Fts3Table *)0x1;\n      iVar4 = fts3PendingTermsDocid(p,1,iStack_50,iDocid);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (iVar4 == 0) {\n        puVar12 = (undefined *)0x1;\n        pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        } while (iVar4 == 0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n      puVar23 = unaff_s7;\n      iStack_78 = iVar4;\n    }" { (if_statement "if (p->zLanguageid == (char *)0x0) {\n        iStack_50 = 0;\n      }\n      else {\n        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);\n      }" if (parenthesized_expression "(p->zLanguageid == (char *)0x0)" ( (binary_expression "p->zLanguageid == (char *)0x0" (field_expression "p->zLanguageid" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iStack_50 = 0;\n      }" { (expression_statement "iStack_50 = 0;" (assignment_expression "iStack_50 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);\n      }" else (compound_statement "{\n        iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);\n      }" { (expression_statement "iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1);" (assignment_expression "iStack_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt,p->nColumn + 1)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_00190a4c" * (cast_expression "(code *)PTR_sqlite3_column_int_00190a4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pStmt,p->nColumn + 1)" ( identifier , (binary_expression "p->nColumn + 1" (field_expression "p->nColumn" identifier -> field_identifier) + number_literal) )))) ;) }))) (expression_statement "iDocid = (*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0);" (assignment_expression "iDocid = (*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int64_001909a4)(pStmt,0)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int64_001909a4)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int64_001909a4" * (cast_expression "(code *)PTR_sqlite3_column_int64_001909a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pStmt,0)" ( identifier , number_literal )))) ;) (expression_statement "pFVar14 = (Fts3Table *)0x1;" (assignment_expression "pFVar14 = (Fts3Table *)0x1" identifier = (cast_expression "(Fts3Table *)0x1" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = fts3PendingTermsDocid(p,1,iStack_50,iDocid);" (assignment_expression "iVar4 = fts3PendingTermsDocid(p,1,iStack_50,iDocid)" identifier = (call_expression "fts3PendingTermsDocid(p,1,iStack_50,iDocid)" identifier (argument_list "(p,1,iStack_50,iDocid)" ( identifier , number_literal , identifier , identifier )))) ;) (expression_statement "puVar3 = PTR_sqlite3_column_text_001909a8;" (assignment_expression "puVar3 = PTR_sqlite3_column_text_001909a8" identifier = identifier) ;) (expression_statement "puVar2 = PTR_sqlite3_column_bytes_0019099c;" (assignment_expression "puVar2 = PTR_sqlite3_column_bytes_0019099c" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n        puVar12 = (undefined *)0x1;\n        pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        } while (iVar4 == 0);\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar12 = (undefined *)0x1;\n        pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        } while (iVar4 == 0);\n      }" { (expression_statement "puVar12 = (undefined *)0x1;" (assignment_expression "puVar12 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_00190bc0 + -0x483c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + -0x483c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + -0x483c)" ( (binary_expression "PTR_LAB_00190bc0 + -0x483c" identifier + number_literal) )))) ;) (do_statement "do {\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        } while (iVar4 == 0);" do (compound_statement "{\n          puVar23 = PTR_sqlite3_reset_00190a5c;\n          if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pFVar14 = (Fts3Table *)p->abNotindexed;\n          cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];\n          unaff_s7 = puVar12;\n          while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }\n          uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);\n          iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);\n          iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);\n          puVar12 = unaff_s7 + 1;\n          pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);\n          (pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);\n        }" { (expression_statement "puVar23 = PTR_sqlite3_reset_00190a5c;" (assignment_expression "puVar23 = PTR_sqlite3_reset_00190a5c" identifier = identifier) ;) (if_statement "if (p->nColumn < (int)puVar12) {\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }" if (parenthesized_expression "(p->nColumn < (int)puVar12)" ( (binary_expression "p->nColumn < (int)puVar12" (field_expression "p->nColumn" identifier -> field_identifier) < (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n            iStack_78 = iStack_38;\n            if (iStack_38 != 0) goto LAB_0014a65c;\n            psStack_34 = psStack_3c;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }\n            *pnChng = *pnChng + -1;\n            if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }\n            iStack_78 = iStack_38;\n            if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }\n            goto LAB_0014a65c;\n          }" { (labeled_statement "LAB_0014a6b4:\n            iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);" statement_identifier : (expression_statement "iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);" (assignment_expression "iStack_38 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt)" identifier = (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(pStmt)" (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 "(pStmt)" ( identifier )))) ;)) (expression_statement "iStack_78 = iStack_38;" (assignment_expression "iStack_78 = iStack_38" identifier = identifier) ;) (if_statement "if (iStack_38 != 0) goto LAB_0014a65c;" if (parenthesized_expression "(iStack_38 != 0)" ( (binary_expression "iStack_38 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) (expression_statement "psStack_34 = psStack_3c;" (assignment_expression "psStack_34 = psStack_3c" identifier = identifier) ;) (if_statement "if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }" if (parenthesized_expression "(p->zContentTbl == (char *)0x0)" ( (binary_expression "p->zContentTbl == (char *)0x0" (field_expression "p->zContentTbl" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pFVar14 = (Fts3Table *)0x1;\n              iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);\n              if (iStack_78 != 0) goto LAB_0014a65c;\n              iVar4 = (*(code *)puVar25)(pStmt);\n              if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }\n            }" { (expression_statement "pFVar14 = (Fts3Table *)0x1;" (assignment_expression "pFVar14 = (Fts3Table *)0x1" identifier = (cast_expression "(Fts3Table *)0x1" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19);" (assignment_expression "iStack_78 = (*pcVar17)(p,1,ppsVar20,ppsVar19)" identifier = (call_expression "(*pcVar17)(p,1,ppsVar20,ppsVar19)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(p,1,ppsVar20,ppsVar19)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (iStack_78 != 0) goto LAB_0014a65c;" if (parenthesized_expression "(iStack_78 != 0)" ( (binary_expression "iStack_78 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) (expression_statement "iVar4 = (*(code *)puVar25)(pStmt);" (assignment_expression "iVar4 = (*(code *)puVar25)(pStmt)" identifier = (call_expression "(*(code *)puVar25)(pStmt)" (parenthesized_expression "(*(code *)puVar25)" ( (pointer_expression "*(code *)puVar25" * (cast_expression "(code *)puVar25" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pStmt)" ( identifier )))) ;) (if_statement "if (iVar4 == 100) {\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }" if (parenthesized_expression "(iVar4 == 100)" ( (binary_expression "iVar4 == 100" identifier == number_literal) )) (compound_statement "{\n                pFVar14 = (Fts3Table *)0x0;\n                pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);\n                iStack_78 = (*(code *)puVar23)(pStmt);\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n                if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }" { (expression_statement "pFVar14 = (Fts3Table *)0x0;" (assignment_expression "pFVar14 = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt);" (assignment_expression "pcVar17 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt)" identifier = (cast_expression "(code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)(pStmt)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_00190a4c" * (cast_expression "(code *)PTR_sqlite3_column_int_00190a4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pStmt)" ( identifier ))))) ;) (expression_statement "iStack_78 = (*(code *)puVar23)(pStmt);" (assignment_expression "iStack_78 = (*(code *)puVar23)(pStmt)" identifier = (call_expression "(*(code *)puVar23)(pStmt)" (parenthesized_expression "(*(code *)puVar23)" ( (pointer_expression "*(code *)puVar23" * (cast_expression "(code *)puVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pStmt)" ( identifier )))) ;) (expression_statement "iStack_38 = iStack_78;" (assignment_expression "iStack_38 = iStack_78" identifier = identifier) ;) (if_statement "if (iStack_78 != 0) goto LAB_0014a65c;" if (parenthesized_expression "(iStack_78 != 0)" ( (binary_expression "iStack_78 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) (if_statement "if (pcVar17 != (code *)0x0) {\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }" if (parenthesized_expression "(pcVar17 != (code *)0x0)" ( (binary_expression "pcVar17 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  iStack_78 = fts3DeleteAll(p,1);\n                  pFVar14 = (Fts3Table *)0x0;\n                  *pnChng = 0;\n                  (*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);\n                  goto LAB_0014a65c;\n                }" { (expression_statement "iStack_78 = fts3DeleteAll(p,1);" (assignment_expression "iStack_78 = fts3DeleteAll(p,1)" identifier = (call_expression "fts3DeleteAll(p,1)" identifier (argument_list "(p,1)" ( identifier , number_literal )))) ;) (expression_statement "pFVar14 = (Fts3Table *)0x0;" (assignment_expression "pFVar14 = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*pnChng = 0;" (assignment_expression "*pnChng = 0" (pointer_expression "*pnChng" * identifier) = number_literal) ;) (expression_statement "(*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8);" (call_expression "(*(code *)PTR_memset_00190d58)(aSzDel,0,(p->nColumn + 1) * 8)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(aSzDel,0,(p->nColumn + 1) * 8)" ( identifier , number_literal , (binary_expression "(p->nColumn + 1) * 8" (parenthesized_expression "(p->nColumn + 1)" ( (binary_expression "p->nColumn + 1" (field_expression "p->nColumn" identifier -> field_identifier) + number_literal) )) * number_literal) ))) ;) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;) })) }) (else_clause "else {\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }" else (compound_statement "{\n                iStack_78 = (*(code *)puVar23)();\n                iStack_38 = iStack_78;\n                if (iStack_78 != 0) goto LAB_0014a65c;\n              }" { (expression_statement "iStack_78 = (*(code *)puVar23)();" (assignment_expression "iStack_78 = (*(code *)puVar23)()" identifier = (call_expression "(*(code *)puVar23)()" (parenthesized_expression "(*(code *)puVar23)" ( (pointer_expression "*(code *)puVar23" * (cast_expression "(code *)puVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iStack_38 = iStack_78;" (assignment_expression "iStack_38 = iStack_78" identifier = identifier) ;) (if_statement "if (iStack_78 != 0) goto LAB_0014a65c;" if (parenthesized_expression "(iStack_78 != 0)" ( (binary_expression "iStack_78 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) }))) })) (expression_statement "*pnChng = *pnChng + -1;" (assignment_expression "*pnChng = *pnChng + -1" (pointer_expression "*pnChng" * identifier) = (binary_expression "*pnChng + -1" (pointer_expression "*pnChng" * identifier) + number_literal)) ;) (if_statement "if (p->zContentTbl == (char *)0x0) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }" if (parenthesized_expression "(p->zContentTbl == (char *)0x0)" ( (binary_expression "p->zContentTbl == (char *)0x0" (field_expression "p->zContentTbl" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0,&psStack_3c);\n            }" { (expression_statement "pFVar14 = p;" (assignment_expression "pFVar14 = p" identifier = identifier) ;) (expression_statement "fts3SqlExec(&iStack_38,p,0,&psStack_3c);" (call_expression "fts3SqlExec(&iStack_38,p,0,&psStack_3c)" identifier (argument_list "(&iStack_38,p,0,&psStack_3c)" ( (pointer_expression "&iStack_38" & identifier) , identifier , number_literal , (pointer_expression "&psStack_3c" & identifier) ))) ;) })) (expression_statement "iStack_78 = iStack_38;" (assignment_expression "iStack_78 = iStack_38" identifier = identifier) ;) (if_statement "if ((p->bHasDocsize != '\0') && (iStack_38 == 0)) {\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }" if (parenthesized_expression "((p->bHasDocsize != '\0') && (iStack_38 == 0))" ( (binary_expression "(p->bHasDocsize != '\0') && (iStack_38 == 0)" (parenthesized_expression "(p->bHasDocsize != '\0')" ( (binary_expression "p->bHasDocsize != '\0'" (field_expression "p->bHasDocsize" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iStack_38 == 0)" ( (binary_expression "iStack_38 == 0" identifier == number_literal) ))) )) (compound_statement "{\n              pFVar14 = p;\n              fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);\n              iStack_78 = iStack_38;\n            }" { (expression_statement "pFVar14 = p;" (assignment_expression "pFVar14 = p" identifier = identifier) ;) (expression_statement "fts3SqlExec(&iStack_38,p,0x13,&psStack_3c);" (call_expression "fts3SqlExec(&iStack_38,p,0x13,&psStack_3c)" identifier (argument_list "(&iStack_38,p,0x13,&psStack_3c)" ( (pointer_expression "&iStack_38" & identifier) , identifier , number_literal , (pointer_expression "&psStack_3c" & identifier) ))) ;) (expression_statement "iStack_78 = iStack_38;" (assignment_expression "iStack_78 = iStack_38" identifier = identifier) ;) })) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;) })) (expression_statement "pFVar14 = (Fts3Table *)p->abNotindexed;" (assignment_expression "pFVar14 = (Fts3Table *)p->abNotindexed" identifier = (cast_expression "(Fts3Table *)p->abNotindexed" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p->abNotindexed" identifier -> field_identifier))) ;) (expression_statement "cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)];" (assignment_expression "cVar1 = (puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)]" identifier = (subscript_expression "(puVar12 + -1)[(int)(pFVar14->aStmt + -0xe)]" (parenthesized_expression "(puVar12 + -1)" ( (binary_expression "puVar12 + -1" identifier + number_literal) )) [ (cast_expression "(int)(pFVar14->aStmt + -0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pFVar14->aStmt + -0xe)" ( (binary_expression "pFVar14->aStmt + -0xe" (field_expression "pFVar14->aStmt" identifier -> field_identifier) + number_literal) ))) ])) ;) (expression_statement "unaff_s7 = puVar12;" (assignment_expression "unaff_s7 = puVar12" identifier = identifier) ;) (while_statement "while (cVar1 != '\0') {\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }" while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            unaff_s7 = unaff_s7 + 1;\n            if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;\n            cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];\n          }" { (expression_statement "unaff_s7 = unaff_s7 + 1;" (assignment_expression "unaff_s7 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (if_statement "if (p->nColumn < (int)unaff_s7) goto LAB_0014a6b4;" if (parenthesized_expression "(p->nColumn < (int)unaff_s7)" ( (binary_expression "p->nColumn < (int)unaff_s7" (field_expression "p->nColumn" identifier -> field_identifier) < (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0014a6b4;" goto statement_identifier ;)) (expression_statement "cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39];" (assignment_expression "cVar1 = unaff_s7[(int)pFVar14->aStmt + -0x39]" identifier = (subscript_expression "unaff_s7[(int)pFVar14->aStmt + -0x39]" identifier [ (binary_expression "(int)pFVar14->aStmt + -0x39" (cast_expression "(int)pFVar14->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar14->aStmt" identifier -> field_identifier)) + number_literal) ])) ;) })) (expression_statement "uVar6 = (*(code *)puVar3)(pStmt,unaff_s7);" (assignment_expression "uVar6 = (*(code *)puVar3)(pStmt,unaff_s7)" identifier = (call_expression "(*(code *)puVar3)(pStmt,unaff_s7)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pStmt,unaff_s7)" ( identifier , identifier )))) ;) (expression_statement "iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff);" (assignment_expression "iVar4 = (*pcVar5)(p,iStack_50,uVar6,0xffffffff)" identifier = (call_expression "(*pcVar5)(p,iStack_50,uVar6,0xffffffff)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(p,iStack_50,uVar6,0xffffffff)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar7 = (*(code *)puVar2)(pStmt,unaff_s7);" (assignment_expression "iVar7 = (*(code *)puVar2)(pStmt,unaff_s7)" identifier = (call_expression "(*(code *)puVar2)(pStmt,unaff_s7)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pStmt,unaff_s7)" ( identifier , identifier )))) ;) (expression_statement "puVar12 = unaff_s7 + 1;" (assignment_expression "puVar12 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "pFVar14 = (Fts3Table *)(aSzDel + p->nColumn);" (assignment_expression "pFVar14 = (Fts3Table *)(aSzDel + p->nColumn)" identifier = (cast_expression "(Fts3Table *)(aSzDel + p->nColumn)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aSzDel + p->nColumn)" ( (binary_expression "aSzDel + p->nColumn" identifier + (field_expression "p->nColumn" identifier -> field_identifier)) )))) ;) (expression_statement "(pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7);" (assignment_expression "(pFVar14->base).pModule =\n               (sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7)" (field_expression "(pFVar14->base).pModule" (parenthesized_expression "(pFVar14->base)" ( (field_expression "pFVar14->base" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(sqlite3_module *)((int)&((pFVar14->base).pModule)->iVersion + iVar7)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((pFVar14->base).pModule)->iVersion + iVar7)" ( (binary_expression "(int)&((pFVar14->base).pModule)->iVersion + iVar7" (cast_expression "(int)&((pFVar14->base).pModule)->iVersion" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((pFVar14->base).pModule)->iVersion" & (field_expression "((pFVar14->base).pModule)->iVersion" (parenthesized_expression "((pFVar14->base).pModule)" ( (field_expression "(pFVar14->base).pModule" (parenthesized_expression "(pFVar14->base)" ( (field_expression "pFVar14->base" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) + identifier) )))) ;) }) while (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) ;) })) (expression_statement "(*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);" (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(pStmt)" (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 "(pStmt)" ( identifier ))) ;) (expression_statement "puVar23 = unaff_s7;" (assignment_expression "puVar23 = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_78 = iVar4;" (assignment_expression "iStack_78 = iVar4" identifier = identifier) ;) }) (else_clause "else {\n      iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n    }" else (compound_statement "{\n      iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n    }" { (expression_statement "iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);" (assignment_expression "iStack_78 = (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt)" identifier = (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(pStmt)" (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 "(pStmt)" ( identifier )))) ;) }))) }) (else_clause "else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n  }" else (compound_statement "{\n    (*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);\n  }" { (expression_statement "(*(code *)PTR_sqlite3_reset_00190a5c)(pStmt);" (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(pStmt)" (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 "(pStmt)" ( identifier ))) ;) }))) (labeled_statement "LAB_0014a65c:\n  if (pFStack_2c == *(Fts3Table **)puVar18) {\n    return iStack_78;\n  }" statement_identifier : (if_statement "if (pFStack_2c == *(Fts3Table **)puVar18) {\n    return iStack_78;\n  }" if (parenthesized_expression "(pFStack_2c == *(Fts3Table **)puVar18)" ( (binary_expression "pFStack_2c == *(Fts3Table **)puVar18" identifier == (pointer_expression "*(Fts3Table **)puVar18" * (cast_expression "(Fts3Table **)puVar18" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iStack_78;\n  }" { (return_statement "return iStack_78;" return identifier ;) }))) (expression_statement "pcVar5 = fts3DoOptimize;" (assignment_expression "pcVar5 = fts3DoOptimize" identifier = identifier) ;) (expression_statement "p_00 = pFStack_2c;" (assignment_expression "p_00 = pFStack_2c" identifier = 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_b0 = puVar25 + 0x4e0e0;" (assignment_expression "puStack_b0 = puVar25 + 0x4e0e0" identifier = (binary_expression "puVar25 + 0x4e0e0" identifier + number_literal)) ;) (expression_statement "piVar16 = &iStack_a0;" (assignment_expression "piVar16 = &iStack_a0" identifier = (pointer_expression "&iStack_a0" & identifier)) ;) (expression_statement "puStack_90 = puVar18;" (assignment_expression "puStack_90 = puVar18" identifier = identifier) ;) (expression_statement "piVar22 = *(int **)(puVar25 + 0x465e4);" (assignment_expression "piVar22 = *(int **)(puVar25 + 0x465e4)" identifier = (pointer_expression "*(int **)(puVar25 + 0x465e4)" * (cast_expression "(int **)(puVar25 + 0x465e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x465e4)" ( (binary_expression "puVar25 + 0x465e4" identifier + number_literal) ))))) ;) (expression_statement "iStack_a0 = 0;" (assignment_expression "iStack_a0 = 0" identifier = number_literal) ;) (expression_statement "psStack_9c = (sqlite3_vtab_cursor *)*piVar22;" (assignment_expression "psStack_9c = (sqlite3_vtab_cursor *)*piVar22" identifier = (cast_expression "(sqlite3_vtab_cursor *)*piVar22" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) ;) (expression_statement "pcStack_98 = pcVar17;" (assignment_expression "pcStack_98 = pcVar17" identifier = identifier) ;) (expression_statement "pFStack_94 = p;" (assignment_expression "pFStack_94 = p" identifier = identifier) ;) (expression_statement "ppsStack_8c = ppsVar19;" (assignment_expression "ppsStack_8c = ppsVar19" identifier = identifier) ;) (expression_statement "ppsStack_88 = ppsVar20;" (assignment_expression "ppsStack_88 = ppsVar20" identifier = identifier) ;) (expression_statement "puStack_84 = aSzDel;" (assignment_expression "puStack_84 = aSzDel" identifier = identifier) ;) (expression_statement "piStack_80 = pnChng;" (assignment_expression "piStack_80 = pnChng" identifier = identifier) ;) (expression_statement "puStack_7c = puVar23;" (assignment_expression "puStack_7c = puVar23" identifier = identifier) ;) (expression_statement "pcStack_74 = pcVar5;" (assignment_expression "pcStack_74 = pcVar5" identifier = identifier) ;) (expression_statement "pFStack_6c = pFVar14;" (assignment_expression "pFStack_6c = pFVar14" identifier = identifier) ;) (expression_statement "piVar8 = (int *)(*(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8))();" (assignment_expression "piVar8 = (int *)(*(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8))()" identifier = (cast_expression "(int *)(*(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8))()" (parenthesized_expression "(*(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8))" ( (pointer_expression "*(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8)" * (cast_expression "(code *)(*(int *)(puVar25 + 0x46424) + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0x46424) + 0x10f8)" ( (binary_expression "*(int *)(puVar25 + 0x46424) + 0x10f8" (pointer_expression "*(int *)(puVar25 + 0x46424)" * (cast_expression "(int *)(puVar25 + 0x46424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x46424)" ( (binary_expression "puVar25 + 0x46424" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar8 == (int *)0x0) {\n    pcVar17 = *(code **)(puStack_b0 + -0x7e90);\n    ppsVar19 = (sqlite3_value **)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    aSzDel = *(u32 **)(puStack_b0 + -0x7f90);\n    (*pcVar17)(iStack_a0,1,p_00->iPrevLangid >> 0x1f);\n    piVar16 = (int *)(p_00->nIndex >> 0x1f);\n    (*pcVar17)(iStack_a0,2);\n    puVar18 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    ppsVar20 = (sqlite3_stmt **)&DAT_00000064;\n    piVar8 = (int *)0x0;\n    iVar4 = (*(code *)aSzDel)(iStack_a0);\n    while (iVar4 == 100) {\n      p = (Fts3Table *)0x65;\n      iVar4 = (*pcStack_a4)(iStack_a0,0);\n      piVar9 = piVar8;\n      while (piVar8 == (int *)0x0) {\n        if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        while( true ) {\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }\n      }\n      iVar4 = (*(code *)aSzDel)(iStack_a0);\n    }\n    piVar9 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    if (piVar8 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n    if (((piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0)) &&\n       (piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0)) {\n      piVar9 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar9 = piVar8;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n  }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar17 = *(code **)(puStack_b0 + -0x7e90);\n    ppsVar19 = (sqlite3_value **)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    aSzDel = *(u32 **)(puStack_b0 + -0x7f90);\n    (*pcVar17)(iStack_a0,1,p_00->iPrevLangid >> 0x1f);\n    piVar16 = (int *)(p_00->nIndex >> 0x1f);\n    (*pcVar17)(iStack_a0,2);\n    puVar18 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    ppsVar20 = (sqlite3_stmt **)&DAT_00000064;\n    piVar8 = (int *)0x0;\n    iVar4 = (*(code *)aSzDel)(iStack_a0);\n    while (iVar4 == 100) {\n      p = (Fts3Table *)0x65;\n      iVar4 = (*pcStack_a4)(iStack_a0,0);\n      piVar9 = piVar8;\n      while (piVar8 == (int *)0x0) {\n        if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        while( true ) {\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }\n      }\n      iVar4 = (*(code *)aSzDel)(iStack_a0);\n    }\n    piVar9 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    if (piVar8 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n    if (((piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0)) &&\n       (piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0)) {\n      piVar9 = (int *)0x0;\n    }\n  }" { (expression_statement "pcVar17 = *(code **)(puStack_b0 + -0x7e90);" (assignment_expression "pcVar17 = *(code **)(puStack_b0 + -0x7e90)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7e90)" * (cast_expression "(code **)(puStack_b0 + -0x7e90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7e90)" ( (binary_expression "puStack_b0 + -0x7e90" identifier + number_literal) ))))) ;) (expression_statement "ppsVar19 = (sqlite3_value **)0x0;" (assignment_expression "ppsVar19 = (sqlite3_value **)0x0" identifier = (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);" (assignment_expression "pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7ed4)" * (cast_expression "(code **)(puStack_b0 + -0x7ed4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ed4)" ( (binary_expression "puStack_b0 + -0x7ed4" identifier + number_literal) ))))) ;) (expression_statement "aSzDel = *(u32 **)(puStack_b0 + -0x7f90);" (assignment_expression "aSzDel = *(u32 **)(puStack_b0 + -0x7f90)" identifier = (pointer_expression "*(u32 **)(puStack_b0 + -0x7f90)" * (cast_expression "(u32 **)(puStack_b0 + -0x7f90)" ( (type_descriptor "u32 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7f90)" ( (binary_expression "puStack_b0 + -0x7f90" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar17)(iStack_a0,1,p_00->iPrevLangid >> 0x1f);" (call_expression "(*pcVar17)(iStack_a0,1,p_00->iPrevLangid >> 0x1f)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(iStack_a0,1,p_00->iPrevLangid >> 0x1f)" ( identifier , number_literal , (binary_expression "p_00->iPrevLangid >> 0x1f" (field_expression "p_00->iPrevLangid" identifier -> field_identifier) >> number_literal) ))) ;) (expression_statement "piVar16 = (int *)(p_00->nIndex >> 0x1f);" (assignment_expression "piVar16 = (int *)(p_00->nIndex >> 0x1f)" identifier = (cast_expression "(int *)(p_00->nIndex >> 0x1f)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_00->nIndex >> 0x1f)" ( (binary_expression "p_00->nIndex >> 0x1f" (field_expression "p_00->nIndex" identifier -> field_identifier) >> number_literal) )))) ;) (expression_statement "(*pcVar17)(iStack_a0,2);" (call_expression "(*pcVar17)(iStack_a0,2)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(iStack_a0,2)" ( identifier , number_literal ))) ;) (expression_statement "puVar18 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);" (assignment_expression "puVar18 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" identifier = (cast_expression "(undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" ( (binary_expression "*(int *)(puStack_b0 + -0x7d6c) + -0x7224" (pointer_expression "*(int *)(puStack_b0 + -0x7d6c)" * (cast_expression "(int *)(puStack_b0 + -0x7d6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b0 + -0x7d6c)" ( (binary_expression "puStack_b0 + -0x7d6c" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_0014a978:\n    ppsVar20 = (sqlite3_stmt **)&DAT_00000064;" statement_identifier : (expression_statement "ppsVar20 = (sqlite3_stmt **)&DAT_00000064;" (assignment_expression "ppsVar20 = (sqlite3_stmt **)&DAT_00000064" identifier = (cast_expression "(sqlite3_stmt **)&DAT_00000064" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_00000064" & identifier))) ;)) (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = (*(code *)aSzDel)(iStack_a0);" (assignment_expression "iVar4 = (*(code *)aSzDel)(iStack_a0)" identifier = (call_expression "(*(code *)aSzDel)(iStack_a0)" (parenthesized_expression "(*(code *)aSzDel)" ( (pointer_expression "*(code *)aSzDel" * (cast_expression "(code *)aSzDel" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iStack_a0)" ( identifier )))) ;) (while_statement "while (iVar4 == 100) {\n      p = (Fts3Table *)0x65;\n      iVar4 = (*pcStack_a4)(iStack_a0,0);\n      piVar9 = piVar8;\n      while (piVar8 == (int *)0x0) {\n        if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        while( true ) {\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }\n      }\n      iVar4 = (*(code *)aSzDel)(iStack_a0);\n    }" while (parenthesized_expression "(iVar4 == 100)" ( (binary_expression "iVar4 == 100" identifier == number_literal) )) (compound_statement "{\n      p = (Fts3Table *)0x65;\n      iVar4 = (*pcStack_a4)(iStack_a0,0);\n      piVar9 = piVar8;\n      while (piVar8 == (int *)0x0) {\n        if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        while( true ) {\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }\n      }\n      iVar4 = (*(code *)aSzDel)(iStack_a0);\n    }" { (expression_statement "p = (Fts3Table *)0x65;" (assignment_expression "p = (Fts3Table *)0x65" identifier = (cast_expression "(Fts3Table *)0x65" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = (*pcStack_a4)(iStack_a0,0);" (assignment_expression "iVar4 = (*pcStack_a4)(iStack_a0,0)" identifier = (call_expression "(*pcStack_a4)(iStack_a0,0)" (parenthesized_expression "(*pcStack_a4)" ( (pointer_expression "*pcStack_a4" * identifier) )) (argument_list "(iStack_a0,0)" ( identifier , number_literal )))) ;) (expression_statement "piVar9 = piVar8;" (assignment_expression "piVar9 = piVar8" identifier = identifier) ;) (while_statement "while (piVar8 == (int *)0x0) {\n        if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        while( true ) {\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }\n      }" while (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        while( true ) {\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }\n      }" { (if_statement "if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;" if (parenthesized_expression "(p_00->nIndex <= (int)piVar9)" ( (binary_expression "p_00->nIndex <= (int)piVar9" (field_expression "p_00->nIndex" identifier -> field_identifier) <= (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0014a978;" goto statement_identifier ;)) (while_statement "while( true ) {\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          piVar16 = piVar9;\n          piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);\n          piVar9 = (int *)((int)piVar9 + 1);\n          if (piVar8 != (int *)0x65) break;\n          ppsVar19 = (sqlite3_value **)0x1;\n          if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;\n        }" { (expression_statement "piVar16 = piVar9;" (assignment_expression "piVar16 = piVar9" identifier = identifier) ;) (expression_statement "piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2);" (assignment_expression "piVar8 = (int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2)" identifier = (cast_expression "(int *)fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "fts3SegmentMerge(p_00,iVar4,(int)piVar9,-2)" identifier (argument_list "(p_00,iVar4,(int)piVar9,-2)" ( identifier , identifier , (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal ))))) ;) (expression_statement "piVar9 = (int *)((int)piVar9 + 1);" (assignment_expression "piVar9 = (int *)((int)piVar9 + 1)" identifier = (cast_expression "(int *)((int)piVar9 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar9 + 1)" ( (binary_expression "(int)piVar9 + 1" (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar8 != (int *)0x65) break;" if (parenthesized_expression "(piVar8 != (int *)0x65)" ( (binary_expression "piVar8 != (int *)0x65" identifier != (cast_expression "(int *)0x65" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "ppsVar19 = (sqlite3_value **)0x1;" (assignment_expression "ppsVar19 = (sqlite3_value **)0x1" identifier = (cast_expression "(sqlite3_value **)0x1" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (p_00->nIndex <= (int)piVar9) goto LAB_0014a978;" if (parenthesized_expression "(p_00->nIndex <= (int)piVar9)" ( (binary_expression "p_00->nIndex <= (int)piVar9" (field_expression "p_00->nIndex" identifier -> field_identifier) <= (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0014a978;" goto statement_identifier ;)) })) })) (expression_statement "iVar4 = (*(code *)aSzDel)(iStack_a0);" (assignment_expression "iVar4 = (*(code *)aSzDel)(iStack_a0)" identifier = (call_expression "(*(code *)aSzDel)(iStack_a0)" (parenthesized_expression "(*(code *)aSzDel)" ( (pointer_expression "*(code *)aSzDel" * (cast_expression "(code *)aSzDel" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iStack_a0)" ( identifier )))) ;) })) (expression_statement "piVar9 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_b0 + -0x7ec4))()" identifier = (cast_expression "(int *)(**(code **)(puStack_b0 + -0x7ec4))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_b0 + -0x7ec4))()" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ec4))" ( (pointer_expression "**(code **)(puStack_b0 + -0x7ec4)" * (pointer_expression "*(code **)(puStack_b0 + -0x7ec4)" * (cast_expression "(code **)(puStack_b0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ec4)" ( (binary_expression "puStack_b0 + -0x7ec4" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar8 != (int *)0x0) goto LAB_0014a8bc;" if (parenthesized_expression "(piVar8 != (int *)0x0)" ( (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a8bc;" goto statement_identifier ;)) (expression_statement "(**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);" (call_expression "(**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments)" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ccc))" ( (pointer_expression "**(code **)(puStack_b0 + -0x7ccc)" * (pointer_expression "*(code **)(puStack_b0 + -0x7ccc)" * (cast_expression "(code **)(puStack_b0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ccc)" ( (binary_expression "puStack_b0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(p_00->pSegments)" ( (field_expression "p_00->pSegments" identifier -> field_identifier) ))) ;) (expression_statement "iVar4 = *(int *)(puStack_b0 + -0x7d78);" (assignment_expression "iVar4 = *(int *)(puStack_b0 + -0x7d78)" identifier = (pointer_expression "*(int *)(puStack_b0 + -0x7d78)" * (cast_expression "(int *)(puStack_b0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b0 + -0x7d78)" ( (binary_expression "puStack_b0 + -0x7d78" identifier + number_literal) ))))) ;) (expression_statement "p_00->pSegments = (sqlite3_blob *)0x0;" (assignment_expression "p_00->pSegments = (sqlite3_blob *)0x0" (field_expression "p_00->pSegments" identifier -> field_identifier) = (cast_expression "(sqlite3_blob *)0x0" ( (type_descriptor "sqlite3_blob *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(iVar4 + -0x550))(p_00);" (call_expression "(*(code *)(iVar4 + -0x550))(p_00)" (parenthesized_expression "(*(code *)(iVar4 + -0x550))" ( (pointer_expression "*(code *)(iVar4 + -0x550)" * (cast_expression "(code *)(iVar4 + -0x550)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x550)" ( (binary_expression "iVar4 + -0x550" identifier + number_literal) )))) )) (argument_list "(p_00)" ( identifier ))) ;) (if_statement "if (((piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0)) &&\n       (piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0)) {\n      piVar9 = (int *)0x0;\n    }" if (parenthesized_expression "(((piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0)) &&\n       (piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0))" ( (binary_expression "((piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0)) &&\n       (piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0)" (parenthesized_expression "((piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0))" ( (binary_expression "(piVar9 == (int *)0x0) && (pFStack_6c != (Fts3Table *)0x0)" (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pFStack_6c != (Fts3Table *)0x0)" ( (binary_expression "pFStack_6c != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0)" ( (comma_expression "piVar9 = (int *)0x65, ppsVar19 == (sqlite3_value **)0x0" (assignment_expression "piVar9 = (int *)0x65" identifier = (cast_expression "(int *)0x65" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "ppsVar19 == (sqlite3_value **)0x0" identifier == (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (compound_statement "{\n      piVar9 = (int *)0x0;\n    }" { (expression_statement "piVar9 = (int *)0x0;" (assignment_expression "piVar9 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\nLAB_0014a8bc:\n    piVar9 = piVar8;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n  }" else (compound_statement "{\nLAB_0014a8bc:\n    piVar9 = piVar8;\n    (**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);\n    iVar4 = *(int *)(puStack_b0 + -0x7d78);\n    p_00->pSegments = (sqlite3_blob *)0x0;\n    (*(code *)(iVar4 + -0x550))(p_00);\n  }" { (labeled_statement "LAB_0014a8bc:\n    piVar9 = piVar8;" statement_identifier : (expression_statement "piVar9 = piVar8;" (assignment_expression "piVar9 = piVar8" identifier = identifier) ;)) (expression_statement "(**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments);" (call_expression "(**(code **)(puStack_b0 + -0x7ccc))(p_00->pSegments)" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ccc))" ( (pointer_expression "**(code **)(puStack_b0 + -0x7ccc)" * (pointer_expression "*(code **)(puStack_b0 + -0x7ccc)" * (cast_expression "(code **)(puStack_b0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ccc)" ( (binary_expression "puStack_b0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(p_00->pSegments)" ( (field_expression "p_00->pSegments" identifier -> field_identifier) ))) ;) (expression_statement "iVar4 = *(int *)(puStack_b0 + -0x7d78);" (assignment_expression "iVar4 = *(int *)(puStack_b0 + -0x7d78)" identifier = (pointer_expression "*(int *)(puStack_b0 + -0x7d78)" * (cast_expression "(int *)(puStack_b0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b0 + -0x7d78)" ( (binary_expression "puStack_b0 + -0x7d78" identifier + number_literal) ))))) ;) (expression_statement "p_00->pSegments = (sqlite3_blob *)0x0;" (assignment_expression "p_00->pSegments = (sqlite3_blob *)0x0" (field_expression "p_00->pSegments" identifier -> field_identifier) = (cast_expression "(sqlite3_blob *)0x0" ( (type_descriptor "sqlite3_blob *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(iVar4 + -0x550))(p_00);" (call_expression "(*(code *)(iVar4 + -0x550))(p_00)" (parenthesized_expression "(*(code *)(iVar4 + -0x550))" ( (pointer_expression "*(code *)(iVar4 + -0x550)" * (cast_expression "(code *)(iVar4 + -0x550)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x550)" ( (binary_expression "iVar4 + -0x550" identifier + number_literal) )))) )) (argument_list "(p_00)" ( identifier ))) ;) }))) (if_statement "if (psStack_9c == (sqlite3_vtab_cursor *)*piVar22) {\n    return (int)piVar9;\n  }" if (parenthesized_expression "(psStack_9c == (sqlite3_vtab_cursor *)*piVar22)" ( (binary_expression "psStack_9c == (sqlite3_vtab_cursor *)*piVar22" identifier == (cast_expression "(sqlite3_vtab_cursor *)*piVar22" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) )) (compound_statement "{\n    return (int)piVar9;\n  }" { (return_statement "return (int)piVar9;" return (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "pcVar17 = *(code **)(puStack_b0 + -0x7b28);" (assignment_expression "pcVar17 = *(code **)(puStack_b0 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7b28)" * (cast_expression "(code **)(puStack_b0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7b28)" ( (binary_expression "puStack_b0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar5 = fts3OptimizeFunc;" (assignment_expression "pcVar5 = fts3OptimizeFunc" identifier = identifier) ;) (expression_statement "psVar13 = psStack_9c;" (assignment_expression "psVar13 = psStack_9c" identifier = identifier) ;) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppuVar27 = &puStack_e8;" (assignment_expression "ppuVar27 = &puStack_e8" identifier = (pointer_expression "&puStack_e8" & identifier)) ;) (expression_statement "psVar15 = psVar13 + 5;" (assignment_expression "psVar15 = psVar13 + 5" identifier = (binary_expression "psVar13 + 5" identifier + number_literal)) ;) (expression_statement "piVar8 = *(int **)(pcVar17 + 0x46394);" (assignment_expression "piVar8 = *(int **)(pcVar17 + 0x46394)" identifier = (pointer_expression "*(int **)(pcVar17 + 0x46394)" * (cast_expression "(int **)(pcVar17 + 0x46394)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x46394)" ( (binary_expression "pcVar17 + 0x46394" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *piVar16;" (assignment_expression "iVar7 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "iStack_e4 = *piVar8;" (assignment_expression "iStack_e4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "pCursor = psVar13;" (assignment_expression "pCursor = psVar13" identifier = identifier) ;) (expression_statement "psVar10 = psVar15;" (assignment_expression "psVar10 = psVar15" identifier = identifier) ;) (expression_statement "piStack_dc = piVar9;" (assignment_expression "piStack_dc = piVar9" identifier = identifier) ;) (expression_statement "pFStack_d8 = p;" (assignment_expression "pFStack_d8 = p" identifier = identifier) ;) (expression_statement "puStack_d4 = puVar18;" (assignment_expression "puStack_d4 = puVar18" identifier = identifier) ;) (expression_statement "ppsStack_d0 = ppsVar19;" (assignment_expression "ppsStack_d0 = ppsVar19" identifier = identifier) ;) (expression_statement "ppsStack_cc = ppsVar20;" (assignment_expression "ppsStack_cc = ppsVar20" identifier = identifier) ;) (expression_statement "pcStack_c8 = (code *)aSzDel;" (assignment_expression "pcStack_c8 = (code *)aSzDel" identifier = (cast_expression "(code *)aSzDel" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_c4 = pcVar5;" (assignment_expression "pcStack_c4 = pcVar5" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar17 + 0x4613c) + -0x2a6c))();" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar17 + 0x4613c) + -0x2a6c))()" identifier = (call_expression "(*(code *)(*(int *)(pcVar17 + 0x4613c) + -0x2a6c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar17 + 0x4613c) + -0x2a6c))" ( (pointer_expression "*(code *)(*(int *)(pcVar17 + 0x4613c) + -0x2a6c)" * (cast_expression "(code *)(*(int *)(pcVar17 + 0x4613c) + -0x2a6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x4613c) + -0x2a6c)" ( (binary_expression "*(int *)(pcVar17 + 0x4613c) + -0x2a6c" (pointer_expression "*(int *)(pcVar17 + 0x4613c)" * (cast_expression "(int *)(pcVar17 + 0x4613c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4613c)" ( (binary_expression "pcVar17 + 0x4613c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    iVar7 = 0;\n    pcVar5 = *(code **)(pcVar17 + 0x45fb8);\n    pFVar14 = (Fts3Table *)*puStack_e8;\n    ppuVar27 = (undefined4 **)0x0;\n    psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0);\n    if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n    psVar10 = (sqlite3_vtab_cursor *)fts3DoOptimize(pFVar14,1);\n    if (psVar10 == (sqlite3_vtab_cursor *)0x0) {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n      if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n      pFVar14->pSegments = (sqlite3_blob *)0x0;\nLAB_0014abe4:\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64;\n    }\n    else {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      if (psVar10 == (sqlite3_vtab_cursor *)0x65) {\n        psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n      }\n      else {\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74;\n    }\n    iVar7 = -1;\n    ppuVar27 = (undefined4 **)0x1;\n    (*(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0))(psVar13,psVar15,iVar4,0xffffffff,1,0);\n    pCursor = psVar13;\n    psVar10 = psVar15;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar7 = 0;\n    pcVar5 = *(code **)(pcVar17 + 0x45fb8);\n    pFVar14 = (Fts3Table *)*puStack_e8;\n    ppuVar27 = (undefined4 **)0x0;\n    psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0);\n    if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n    psVar10 = (sqlite3_vtab_cursor *)fts3DoOptimize(pFVar14,1);\n    if (psVar10 == (sqlite3_vtab_cursor *)0x0) {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n      if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n      pFVar14->pSegments = (sqlite3_blob *)0x0;\nLAB_0014abe4:\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64;\n    }\n    else {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      if (psVar10 == (sqlite3_vtab_cursor *)0x65) {\n        psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n      }\n      else {\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74;\n    }\n    iVar7 = -1;\n    ppuVar27 = (undefined4 **)0x1;\n    (*(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0))(psVar13,psVar15,iVar4,0xffffffff,1,0);\n    pCursor = psVar13;\n    psVar10 = psVar15;\n  }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pcVar5 = *(code **)(pcVar17 + 0x45fb8);" (assignment_expression "pcVar5 = *(code **)(pcVar17 + 0x45fb8)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x45fb8)" * (cast_expression "(code **)(pcVar17 + 0x45fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x45fb8)" ( (binary_expression "pcVar17 + 0x45fb8" identifier + number_literal) ))))) ;) (expression_statement "pFVar14 = (Fts3Table *)*puStack_e8;" (assignment_expression "pFVar14 = (Fts3Table *)*puStack_e8" identifier = (cast_expression "(Fts3Table *)*puStack_e8" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puStack_e8" * identifier))) ;) (expression_statement "ppuVar27 = (undefined4 **)0x0;" (assignment_expression "ppuVar27 = (undefined4 **)0x0" identifier = (cast_expression "(undefined4 **)0x0" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0);" (assignment_expression "psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0)" identifier = (cast_expression "(sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0)" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd30,0)" ( (field_expression "pFVar14->db" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar17 + 0x45ecc) + 0xd30" (pointer_expression "*(int *)(pcVar17 + 0x45ecc)" * (cast_expression "(int *)(pcVar17 + 0x45ecc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ecc)" ( (binary_expression "pcVar17 + 0x45ecc" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;" if (parenthesized_expression "(psVar10 != (sqlite3_vtab_cursor *)0x0)" ( (binary_expression "psVar10 != (sqlite3_vtab_cursor *)0x0" identifier != (cast_expression "(sqlite3_vtab_cursor *)0x0" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014ab6c;" goto statement_identifier ;)) (expression_statement "psVar10 = (sqlite3_vtab_cursor *)fts3DoOptimize(pFVar14,1);" (assignment_expression "psVar10 = (sqlite3_vtab_cursor *)fts3DoOptimize(pFVar14,1)" identifier = (cast_expression "(sqlite3_vtab_cursor *)fts3DoOptimize(pFVar14,1)" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fts3DoOptimize(pFVar14,1)" identifier (argument_list "(pFVar14,1)" ( identifier , number_literal ))))) ;) (if_statement "if (psVar10 == (sqlite3_vtab_cursor *)0x0) {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n      if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n      pFVar14->pSegments = (sqlite3_blob *)0x0;\nLAB_0014abe4:\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64;\n    }\n    else {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      if (psVar10 == (sqlite3_vtab_cursor *)0x65) {\n        psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n      }\n      else {\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74;\n    }" if (parenthesized_expression "(psVar10 == (sqlite3_vtab_cursor *)0x0)" ( (binary_expression "psVar10 == (sqlite3_vtab_cursor *)0x0" identifier == (cast_expression "(sqlite3_vtab_cursor *)0x0" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n      if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n      pFVar14->pSegments = (sqlite3_blob *)0x0;\nLAB_0014abe4:\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64;\n    }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "ppuVar27 = (undefined4 **)0x0;" (assignment_expression "ppuVar27 = (undefined4 **)0x0" identifier = (cast_expression "(undefined4 **)0x0" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);" (assignment_expression "psVar10 = (sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0)" identifier = (cast_expression "(sqlite3_vtab_cursor *)(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0)" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0)" ( (field_expression "pFVar14->db" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar17 + 0x45ecc) + 0xd54" (pointer_expression "*(int *)(pcVar17 + 0x45ecc)" * (cast_expression "(int *)(pcVar17 + 0x45ecc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ecc)" ( (binary_expression "pcVar17 + 0x45ecc" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;" if (parenthesized_expression "(psVar10 != (sqlite3_vtab_cursor *)0x0)" ( (binary_expression "psVar10 != (sqlite3_vtab_cursor *)0x0" identifier != (cast_expression "(sqlite3_vtab_cursor *)0x0" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014ab6c;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);" (call_expression "(**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments)" (parenthesized_expression "(**(code **)(pcVar17 + 0x461c4))" ( (pointer_expression "**(code **)(pcVar17 + 0x461c4)" * (pointer_expression "*(code **)(pcVar17 + 0x461c4)" * (cast_expression "(code **)(pcVar17 + 0x461c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x461c4)" ( (binary_expression "pcVar17 + 0x461c4" identifier + number_literal) ))))) )) (argument_list "(pFVar14->pSegments)" ( (field_expression "pFVar14->pSegments" identifier -> field_identifier) ))) ;) (expression_statement "pFVar14->pSegments = (sqlite3_blob *)0x0;" (assignment_expression "pFVar14->pSegments = (sqlite3_blob *)0x0" (field_expression "pFVar14->pSegments" identifier -> field_identifier) = (cast_expression "(sqlite3_blob *)0x0" ( (type_descriptor "sqlite3_blob *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0014abe4:\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64;" statement_identifier : (expression_statement "iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64;" (assignment_expression "iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd64" identifier = (binary_expression "*(int *)(pcVar17 + 0x45ecc) + 0xd64" (pointer_expression "*(int *)(pcVar17 + 0x45ecc)" * (cast_expression "(int *)(pcVar17 + 0x45ecc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ecc)" ( (binary_expression "pcVar17 + 0x45ecc" identifier + number_literal) )))) + number_literal)) ;)) }) (else_clause "else {\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      if (psVar10 == (sqlite3_vtab_cursor *)0x65) {\n        psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n      }\n      else {\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74;\n    }" else (compound_statement "{\n      iVar7 = 0;\n      ppuVar27 = (undefined4 **)0x0;\n      if (psVar10 == (sqlite3_vtab_cursor *)0x65) {\n        psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n      }\n      else {\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }\n      iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74;\n    }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "ppuVar27 = (undefined4 **)0x0;" (assignment_expression "ppuVar27 = (undefined4 **)0x0" identifier = (cast_expression "(undefined4 **)0x0" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (psVar10 == (sqlite3_vtab_cursor *)0x65) {\n        psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n      }\n      else {\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }" if (parenthesized_expression "(psVar10 == (sqlite3_vtab_cursor *)0x65)" ( (binary_expression "psVar10 == (sqlite3_vtab_cursor *)0x65" identifier == (cast_expression "(sqlite3_vtab_cursor *)0x65" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\n        if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n      }" { (expression_statement "psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);" (assignment_expression "psVar10 = (sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0)" identifier = (cast_expression "(sqlite3_vtab_cursor *)\n                  (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0)" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0)" ( (field_expression "pFVar14->db" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar17 + 0x45ecc) + 0xd54" (pointer_expression "*(int *)(pcVar17 + 0x45ecc)" * (cast_expression "(int *)(pcVar17 + 0x45ecc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ecc)" ( (binary_expression "pcVar17 + 0x45ecc" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (psVar10 != (sqlite3_vtab_cursor *)0x0) goto LAB_0014ab6c;" if (parenthesized_expression "(psVar10 != (sqlite3_vtab_cursor *)0x0)" ( (binary_expression "psVar10 != (sqlite3_vtab_cursor *)0x0" identifier != (cast_expression "(sqlite3_vtab_cursor *)0x0" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014ab6c;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);" (call_expression "(**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments)" (parenthesized_expression "(**(code **)(pcVar17 + 0x461c4))" ( (pointer_expression "**(code **)(pcVar17 + 0x461c4)" * (pointer_expression "*(code **)(pcVar17 + 0x461c4)" * (cast_expression "(code **)(pcVar17 + 0x461c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x461c4)" ( (binary_expression "pcVar17 + 0x461c4" identifier + number_literal) ))))) )) (argument_list "(pFVar14->pSegments)" ( (field_expression "pFVar14->pSegments" identifier -> field_identifier) ))) ;) (expression_statement "pFVar14->pSegments = (sqlite3_blob *)0x0;" (assignment_expression "pFVar14->pSegments = (sqlite3_blob *)0x0" (field_expression "pFVar14->pSegments" identifier -> field_identifier) = (cast_expression "(sqlite3_blob *)0x0" ( (type_descriptor "sqlite3_blob *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }" else (compound_statement "{\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);\n        iVar7 = 0;\n        ppuVar27 = (undefined4 **)0x0;\n        (*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);\n        pFVar14->pSegments = (sqlite3_blob *)0x0;\n        if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;\n        if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }\n      }" { (expression_statement "(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40);" (call_expression "(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd40)" ( (field_expression "pFVar14->db" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar17 + 0x45ecc) + 0xd40" (pointer_expression "*(int *)(pcVar17 + 0x45ecc)" * (cast_expression "(int *)(pcVar17 + 0x45ecc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ecc)" ( (binary_expression "pcVar17 + 0x45ecc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "ppuVar27 = (undefined4 **)0x0;" (assignment_expression "ppuVar27 = (undefined4 **)0x0" identifier = (cast_expression "(undefined4 **)0x0" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0);" (call_expression "(*pcVar5)(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pFVar14->db,*(int *)(pcVar17 + 0x45ecc) + 0xd54,0)" ( (field_expression "pFVar14->db" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar17 + 0x45ecc) + 0xd54" (pointer_expression "*(int *)(pcVar17 + 0x45ecc)" * (cast_expression "(int *)(pcVar17 + 0x45ecc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ecc)" ( (binary_expression "pcVar17 + 0x45ecc" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (labeled_statement "LAB_0014ab6c:\n        (**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);" statement_identifier : (expression_statement "(**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments);" (call_expression "(**(code **)(pcVar17 + 0x461c4))(pFVar14->pSegments)" (parenthesized_expression "(**(code **)(pcVar17 + 0x461c4))" ( (pointer_expression "**(code **)(pcVar17 + 0x461c4)" * (pointer_expression "*(code **)(pcVar17 + 0x461c4)" * (cast_expression "(code **)(pcVar17 + 0x461c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x461c4)" ( (binary_expression "pcVar17 + 0x461c4" identifier + number_literal) ))))) )) (argument_list "(pFVar14->pSegments)" ( (field_expression "pFVar14->pSegments" identifier -> field_identifier) ))) ;)) (expression_statement "pFVar14->pSegments = (sqlite3_blob *)0x0;" (assignment_expression "pFVar14->pSegments = (sqlite3_blob *)0x0" (field_expression "pFVar14->pSegments" identifier -> field_identifier) = (cast_expression "(sqlite3_blob *)0x0" ( (type_descriptor "sqlite3_blob *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (psVar10 == (sqlite3_vtab_cursor *)0x0) goto LAB_0014abe4;" if (parenthesized_expression "(psVar10 == (sqlite3_vtab_cursor *)0x0)" ( (binary_expression "psVar10 == (sqlite3_vtab_cursor *)0x0" identifier == (cast_expression "(sqlite3_vtab_cursor *)0x0" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014abe4;" goto statement_identifier ;)) (if_statement "if (psVar10 != (sqlite3_vtab_cursor *)0x65) {\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }" if (parenthesized_expression "(psVar10 != (sqlite3_vtab_cursor *)0x65)" ( (binary_expression "psVar10 != (sqlite3_vtab_cursor *)0x65" identifier != (cast_expression "(sqlite3_vtab_cursor *)0x65" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(pcVar17 + 0x45f44))();\n          pCursor = psVar13;\n          goto LAB_0014ab04;\n        }" { (expression_statement "(**(code **)(pcVar17 + 0x45f44))();" (call_expression "(**(code **)(pcVar17 + 0x45f44))()" (parenthesized_expression "(**(code **)(pcVar17 + 0x45f44))" ( (pointer_expression "**(code **)(pcVar17 + 0x45f44)" * (pointer_expression "*(code **)(pcVar17 + 0x45f44)" * (cast_expression "(code **)(pcVar17 + 0x45f44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x45f44)" ( (binary_expression "pcVar17 + 0x45f44" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pCursor = psVar13;" (assignment_expression "pCursor = psVar13" identifier = identifier) ;) (goto_statement "goto LAB_0014ab04;" goto statement_identifier ;) })) }))) (expression_statement "iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74;" (assignment_expression "iVar4 = *(int *)(pcVar17 + 0x45ecc) + 0xd74" identifier = (binary_expression "*(int *)(pcVar17 + 0x45ecc) + 0xd74" (pointer_expression "*(int *)(pcVar17 + 0x45ecc)" * (cast_expression "(int *)(pcVar17 + 0x45ecc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ecc)" ( (binary_expression "pcVar17 + 0x45ecc" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" identifier = number_literal) ;) (expression_statement "ppuVar27 = (undefined4 **)0x1;" (assignment_expression "ppuVar27 = (undefined4 **)0x1" identifier = (cast_expression "(undefined4 **)0x1" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "(*(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0))(psVar13,psVar15,iVar4,0xffffffff,1,0);" (call_expression "(*(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0))(psVar13,psVar15,iVar4,0xffffffff,1,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0))" ( (pointer_expression "*(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0)" * (cast_expression "(code *)(*(int *)(pcVar17 + 0x46130) + -0x13c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x46130) + -0x13c0)" ( (binary_expression "*(int *)(pcVar17 + 0x46130) + -0x13c0" (pointer_expression "*(int *)(pcVar17 + 0x46130)" * (cast_expression "(int *)(pcVar17 + 0x46130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x46130)" ( (binary_expression "pcVar17 + 0x46130" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar13,psVar15,iVar4,0xffffffff,1,0)" ( identifier , identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "pCursor = psVar13;" (assignment_expression "pCursor = psVar13" identifier = identifier) ;) (expression_statement "psVar10 = psVar15;" (assignment_expression "psVar10 = psVar15" identifier = identifier) ;) })) (labeled_statement "LAB_0014ab04:\n  iVar4 = *piVar8;" statement_identifier : (expression_statement "iVar4 = *piVar8;" (assignment_expression "iVar4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;)) (if_statement "if (iStack_e4 == iVar4) {\n    return iVar4;\n  }" if (parenthesized_expression "(iStack_e4 == iVar4)" ( (binary_expression "iStack_e4 == iVar4" identifier == identifier) )) (compound_statement "{\n    return iVar4;\n  }" { (return_statement "return iVar4;" return identifier ;) })) (expression_statement "pcVar17 = *(code **)(pcVar17 + 0x46368);" (assignment_expression "pcVar17 = *(code **)(pcVar17 + 0x46368)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x46368)" * (cast_expression "(code **)(pcVar17 + 0x46368)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x46368)" ( (binary_expression "pcVar17 + 0x46368" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pCsr = (Fts3MultiSegReader *)(pCursor + 1);" (assignment_expression "pCsr = (Fts3MultiSegReader *)(pCursor + 1)" identifier = (cast_expression "(Fts3MultiSegReader *)(pCursor + 1)" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pCursor + 1)" ( (binary_expression "pCursor + 1" identifier + number_literal) )))) ;) (expression_statement "pFVar14 = (Fts3Table *)pCursor->pVtab[1].pModule;" (assignment_expression "pFVar14 = (Fts3Table *)pCursor->pVtab[1].pModule" identifier = (cast_expression "(Fts3Table *)pCursor->pVtab[1].pModule" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCursor->pVtab[1].pModule" (subscript_expression "pCursor->pVtab[1]" (field_expression "pCursor->pVtab" identifier -> field_identifier) [ number_literal ]) . field_identifier))) ;) (if_statement "if (psVar10 == (sqlite3_vtab_cursor *)0x1) {\n    if (iVar7 < 2) {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n    else {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = 1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n  }\n  else {\n    if (((uint)psVar10 & 2) == 0) {\n      iVar24 = -1;\n      iVar4 = 0;\n      iVar21 = 0;\n      if (((uint)psVar10 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar21 = -1;\n      if (iVar4 < iVar7) {\n        iVar26 = *(int *)(pcVar17 + 0x45ef0);\n        goto LAB_0014aeb4;\n      }\nLAB_0014ad60:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    else {\n      iVar4 = 1;\n      iVar24 = 0;\n      iVar21 = iVar4;\n      if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar4 = iVar21 + 1;\n      iVar26 = *(int *)(pcVar17 + 0x45ef0);\n      if (iVar7 <= iVar4) goto LAB_0014ad60;\nLAB_0014aeb4:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(iVar26 + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    iVar7 = 1;\n    if (iVar24 != 0) goto LAB_0014ae0c;\n  }" if (parenthesized_expression "(psVar10 == (sqlite3_vtab_cursor *)0x1)" ( (binary_expression "psVar10 == (sqlite3_vtab_cursor *)0x1" identifier == (cast_expression "(sqlite3_vtab_cursor *)0x1" ( (type_descriptor "sqlite3_vtab_cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iVar7 < 2) {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n    else {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = 1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n  }" { (if_statement "if (iVar7 < 2) {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }\n    else {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = 1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }" if (parenthesized_expression "(iVar7 < 2)" ( (binary_expression "iVar7 < 2" identifier < number_literal) )) (compound_statement "{\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }" { (expression_statement "pcVar5 = *(code **)(pcVar17 + 0x45c8c);" (assignment_expression "pcVar5 = *(code **)(pcVar17 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x45c8c)" * (cast_expression "(code **)(pcVar17 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x45c8c)" ( (binary_expression "pcVar17 + 0x45c8c" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = -1;" (assignment_expression "iVar21 = -1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);" (call_expression "(*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr)" (parenthesized_expression "(*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))" ( (pointer_expression "*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4)" * (cast_expression "(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4)" ( (binary_expression "*(int *)(pcVar17 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar17 + 0x45ef0)" * (cast_expression "(int *)(pcVar17 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ef0)" ( (binary_expression "pcVar17 + 0x45ef0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pCsr)" ( identifier ))) ;) (expression_statement "(*pcVar5)(pCursor[0xf].pVtab);" (call_expression "(*pcVar5)(pCursor[0xf].pVtab)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pCursor[0xf].pVtab)" ( (field_expression "pCursor[0xf].pVtab" (subscript_expression "pCursor[0xf]" identifier [ number_literal ]) . field_identifier) ))) ;) (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;) (expression_statement "(*pcVar5)(pCursor[0x1c].pVtab);" (call_expression "(*pcVar5)(pCursor[0x1c].pVtab)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pCursor[0x1c].pVtab)" ( (field_expression "pCursor[0x1c].pVtab" (subscript_expression "pCursor[0x1c]" identifier [ number_literal ]) . field_identifier) ))) ;) (expression_statement "(**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);" (call_expression "(**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74)" (parenthesized_expression "(**(code **)(pcVar17 + 0x46078))" ( (pointer_expression "**(code **)(pcVar17 + 0x46078)" * (pointer_expression "*(code **)(pcVar17 + 0x46078)" * (cast_expression "(code **)(pcVar17 + 0x46078)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x46078)" ( (binary_expression "pcVar17 + 0x46078" identifier + number_literal) ))))) )) (argument_list "(pCsr,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;" (assignment_expression "pCursor[0x12].pVtab = (sqlite3_vtab *)0x3" (field_expression "pCursor[0x12].pVtab" (subscript_expression "pCursor[0x12]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x3" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = 1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }" else (compound_statement "{\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      iVar21 = -1;\n      iVar7 = 0;\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = 1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;\n    }" { (expression_statement "pcVar5 = *(code **)(pcVar17 + 0x45c8c);" (assignment_expression "pcVar5 = *(code **)(pcVar17 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x45c8c)" * (cast_expression "(code **)(pcVar17 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x45c8c)" ( (binary_expression "pcVar17 + 0x45c8c" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = -1;" (assignment_expression "iVar21 = -1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);" (call_expression "(*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr)" (parenthesized_expression "(*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))" ( (pointer_expression "*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4)" * (cast_expression "(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4)" ( (binary_expression "*(int *)(pcVar17 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar17 + 0x45ef0)" * (cast_expression "(int *)(pcVar17 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ef0)" ( (binary_expression "pcVar17 + 0x45ef0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pCsr)" ( identifier ))) ;) (expression_statement "(*pcVar5)(pCursor[0xf].pVtab);" (call_expression "(*pcVar5)(pCursor[0xf].pVtab)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pCursor[0xf].pVtab)" ( (field_expression "pCursor[0xf].pVtab" (subscript_expression "pCursor[0xf]" identifier [ number_literal ]) . field_identifier) ))) ;) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "(*pcVar5)(pCursor[0x1c].pVtab);" (call_expression "(*pcVar5)(pCursor[0x1c].pVtab)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pCursor[0x1c].pVtab)" ( (field_expression "pCursor[0x1c].pVtab" (subscript_expression "pCursor[0x1c]" identifier [ number_literal ]) . field_identifier) ))) ;) (expression_statement "(**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);" (call_expression "(**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74)" (parenthesized_expression "(**(code **)(pcVar17 + 0x46078))" ( (pointer_expression "**(code **)(pcVar17 + 0x46078)" * (pointer_expression "*(code **)(pcVar17 + 0x46078)" * (cast_expression "(code **)(pcVar17 + 0x46078)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x46078)" ( (binary_expression "pcVar17 + 0x46078" identifier + number_literal) ))))) )) (argument_list "(pCsr,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pCursor[0x12].pVtab = (sqlite3_vtab *)0x3;" (assignment_expression "pCursor[0x12].pVtab = (sqlite3_vtab *)0x3" (field_expression "pCursor[0x12].pVtab" (subscript_expression "pCursor[0x12]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x3" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n    if (((uint)psVar10 & 2) == 0) {\n      iVar24 = -1;\n      iVar4 = 0;\n      iVar21 = 0;\n      if (((uint)psVar10 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar21 = -1;\n      if (iVar4 < iVar7) {\n        iVar26 = *(int *)(pcVar17 + 0x45ef0);\n        goto LAB_0014aeb4;\n      }\nLAB_0014ad60:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    else {\n      iVar4 = 1;\n      iVar24 = 0;\n      iVar21 = iVar4;\n      if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar4 = iVar21 + 1;\n      iVar26 = *(int *)(pcVar17 + 0x45ef0);\n      if (iVar7 <= iVar4) goto LAB_0014ad60;\nLAB_0014aeb4:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(iVar26 + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    iVar7 = 1;\n    if (iVar24 != 0) goto LAB_0014ae0c;\n  }" else (compound_statement "{\n    if (((uint)psVar10 & 2) == 0) {\n      iVar24 = -1;\n      iVar4 = 0;\n      iVar21 = 0;\n      if (((uint)psVar10 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar21 = -1;\n      if (iVar4 < iVar7) {\n        iVar26 = *(int *)(pcVar17 + 0x45ef0);\n        goto LAB_0014aeb4;\n      }\nLAB_0014ad60:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    else {\n      iVar4 = 1;\n      iVar24 = 0;\n      iVar21 = iVar4;\n      if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar4 = iVar21 + 1;\n      iVar26 = *(int *)(pcVar17 + 0x45ef0);\n      if (iVar7 <= iVar4) goto LAB_0014ad60;\nLAB_0014aeb4:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(iVar26 + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    iVar7 = 1;\n    if (iVar24 != 0) goto LAB_0014ae0c;\n  }" { (if_statement "if (((uint)psVar10 & 2) == 0) {\n      iVar24 = -1;\n      iVar4 = 0;\n      iVar21 = 0;\n      if (((uint)psVar10 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar21 = -1;\n      if (iVar4 < iVar7) {\n        iVar26 = *(int *)(pcVar17 + 0x45ef0);\n        goto LAB_0014aeb4;\n      }\nLAB_0014ad60:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }\n    else {\n      iVar4 = 1;\n      iVar24 = 0;\n      iVar21 = iVar4;\n      if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar4 = iVar21 + 1;\n      iVar26 = *(int *)(pcVar17 + 0x45ef0);\n      if (iVar7 <= iVar4) goto LAB_0014ad60;\nLAB_0014aeb4:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(iVar26 + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }" if (parenthesized_expression "(((uint)psVar10 & 2) == 0)" ( (binary_expression "((uint)psVar10 & 2) == 0" (parenthesized_expression "((uint)psVar10 & 2)" ( (binary_expression "(uint)psVar10 & 2" (cast_expression "(uint)psVar10" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar24 = -1;\n      iVar4 = 0;\n      iVar21 = 0;\n      if (((uint)psVar10 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar21 = -1;\n      if (iVar4 < iVar7) {\n        iVar26 = *(int *)(pcVar17 + 0x45ef0);\n        goto LAB_0014aeb4;\n      }\nLAB_0014ad60:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      iVar4 = -1;\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }" { (expression_statement "iVar24 = -1;" (assignment_expression "iVar24 = -1" identifier = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (if_statement "if (((uint)psVar10 & 4) != 0) goto LAB_0014ad4c;" if (parenthesized_expression "(((uint)psVar10 & 4) != 0)" ( (binary_expression "((uint)psVar10 & 4) != 0" (parenthesized_expression "((uint)psVar10 & 4)" ( (binary_expression "(uint)psVar10 & 4" (cast_expression "(uint)psVar10" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0014ad4c;" goto statement_identifier ;)) (labeled_statement "LAB_0014aea4:\n      iVar21 = -1;" statement_identifier : (expression_statement "iVar21 = -1;" (assignment_expression "iVar21 = -1" identifier = number_literal) ;)) (if_statement "if (iVar4 < iVar7) {\n        iVar26 = *(int *)(pcVar17 + 0x45ef0);\n        goto LAB_0014aeb4;\n      }" if (parenthesized_expression "(iVar4 < iVar7)" ( (binary_expression "iVar4 < iVar7" identifier < identifier) )) (compound_statement "{\n        iVar26 = *(int *)(pcVar17 + 0x45ef0);\n        goto LAB_0014aeb4;\n      }" { (expression_statement "iVar26 = *(int *)(pcVar17 + 0x45ef0);" (assignment_expression "iVar26 = *(int *)(pcVar17 + 0x45ef0)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x45ef0)" * (cast_expression "(int *)(pcVar17 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ef0)" ( (binary_expression "pcVar17 + 0x45ef0" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0014aeb4;" goto statement_identifier ;) })) (labeled_statement "LAB_0014ad60:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);" statement_identifier : (expression_statement "pcVar5 = *(code **)(pcVar17 + 0x45c8c);" (assignment_expression "pcVar5 = *(code **)(pcVar17 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x45c8c)" * (cast_expression "(code **)(pcVar17 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x45c8c)" ( (binary_expression "pcVar17 + 0x45c8c" identifier + number_literal) ))))) ;)) (expression_statement "(*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr);" (call_expression "(*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))(pCsr)" (parenthesized_expression "(*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4))" ( (pointer_expression "*(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4)" * (cast_expression "(code *)(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x45ef0) + -0x5eb4)" ( (binary_expression "*(int *)(pcVar17 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar17 + 0x45ef0)" * (cast_expression "(int *)(pcVar17 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ef0)" ( (binary_expression "pcVar17 + 0x45ef0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pCsr)" ( identifier ))) ;) (expression_statement "(*pcVar5)(pCursor[0xf].pVtab);" (call_expression "(*pcVar5)(pCursor[0xf].pVtab)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pCursor[0xf].pVtab)" ( (field_expression "pCursor[0xf].pVtab" (subscript_expression "pCursor[0xf]" identifier [ number_literal ]) . field_identifier) ))) ;) (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;) (expression_statement "(*pcVar5)(pCursor[0x1c].pVtab);" (call_expression "(*pcVar5)(pCursor[0x1c].pVtab)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pCursor[0x1c].pVtab)" ( (field_expression "pCursor[0x1c].pVtab" (subscript_expression "pCursor[0x1c]" identifier [ number_literal ]) . field_identifier) ))) ;) (expression_statement "(**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);" (call_expression "(**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74)" (parenthesized_expression "(**(code **)(pcVar17 + 0x46078))" ( (pointer_expression "**(code **)(pcVar17 + 0x46078)" * (pointer_expression "*(code **)(pcVar17 + 0x46078)" * (cast_expression "(code **)(pcVar17 + 0x46078)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x46078)" ( (binary_expression "pcVar17 + 0x46078" identifier + number_literal) ))))) )) (argument_list "(pCsr,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;" (assignment_expression "pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013" (field_expression "pCursor[0x12].pVtab" (subscript_expression "pCursor[0x12]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)&DAT_00000013" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000013" & identifier))) ;) }) (else_clause "else {\n      iVar4 = 1;\n      iVar24 = 0;\n      iVar21 = iVar4;\n      if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar4 = iVar21 + 1;\n      iVar26 = *(int *)(pcVar17 + 0x45ef0);\n      if (iVar7 <= iVar4) goto LAB_0014ad60;\nLAB_0014aeb4:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(iVar26 + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }" else (compound_statement "{\n      iVar4 = 1;\n      iVar24 = 0;\n      iVar21 = iVar4;\n      if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar4 = iVar21 + 1;\n      iVar26 = *(int *)(pcVar17 + 0x45ef0);\n      if (iVar7 <= iVar4) goto LAB_0014ad60;\nLAB_0014aeb4:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);\n      (*(code *)(iVar26 + -0x5eb4))(pCsr);\n      (*pcVar5)(pCursor[0xf].pVtab);\n      (*pcVar5)(pCursor[0x1c].pVtab);\n      (**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);\n      pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;\n    }" { (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = iVar4;" (assignment_expression "iVar21 = iVar4" identifier = identifier) ;) (if_statement "if (((uint)psVar10 & 4) == 0) goto LAB_0014aea4;" if (parenthesized_expression "(((uint)psVar10 & 4) == 0)" ( (binary_expression "((uint)psVar10 & 4) == 0" (parenthesized_expression "((uint)psVar10 & 4)" ( (binary_expression "(uint)psVar10 & 4" (cast_expression "(uint)psVar10" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0014aea4;" goto statement_identifier ;)) (labeled_statement "LAB_0014ad4c:\n      iVar4 = iVar21 + 1;" statement_identifier : (expression_statement "iVar4 = iVar21 + 1;" (assignment_expression "iVar4 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;)) (expression_statement "iVar26 = *(int *)(pcVar17 + 0x45ef0);" (assignment_expression "iVar26 = *(int *)(pcVar17 + 0x45ef0)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x45ef0)" * (cast_expression "(int *)(pcVar17 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ef0)" ( (binary_expression "pcVar17 + 0x45ef0" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 <= iVar4) goto LAB_0014ad60;" if (parenthesized_expression "(iVar7 <= iVar4)" ( (binary_expression "iVar7 <= iVar4" identifier <= identifier) )) (goto_statement "goto LAB_0014ad60;" goto statement_identifier ;)) (labeled_statement "LAB_0014aeb4:\n      pcVar5 = *(code **)(pcVar17 + 0x45c8c);" statement_identifier : (expression_statement "pcVar5 = *(code **)(pcVar17 + 0x45c8c);" (assignment_expression "pcVar5 = *(code **)(pcVar17 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x45c8c)" * (cast_expression "(code **)(pcVar17 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x45c8c)" ( (binary_expression "pcVar17 + 0x45c8c" identifier + number_literal) ))))) ;)) (expression_statement "(*(code *)(iVar26 + -0x5eb4))(pCsr);" (call_expression "(*(code *)(iVar26 + -0x5eb4))(pCsr)" (parenthesized_expression "(*(code *)(iVar26 + -0x5eb4))" ( (pointer_expression "*(code *)(iVar26 + -0x5eb4)" * (cast_expression "(code *)(iVar26 + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + -0x5eb4)" ( (binary_expression "iVar26 + -0x5eb4" identifier + number_literal) )))) )) (argument_list "(pCsr)" ( identifier ))) ;) (expression_statement "(*pcVar5)(pCursor[0xf].pVtab);" (call_expression "(*pcVar5)(pCursor[0xf].pVtab)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pCursor[0xf].pVtab)" ( (field_expression "pCursor[0xf].pVtab" (subscript_expression "pCursor[0xf]" identifier [ number_literal ]) . field_identifier) ))) ;) (expression_statement "(*pcVar5)(pCursor[0x1c].pVtab);" (call_expression "(*pcVar5)(pCursor[0x1c].pVtab)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(pCursor[0x1c].pVtab)" ( (field_expression "pCursor[0x1c].pVtab" (subscript_expression "pCursor[0x1c]" identifier [ number_literal ]) . field_identifier) ))) ;) (expression_statement "(**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74);" (call_expression "(**(code **)(pcVar17 + 0x46078))(pCsr,0,0x74)" (parenthesized_expression "(**(code **)(pcVar17 + 0x46078))" ( (pointer_expression "**(code **)(pcVar17 + 0x46078)" * (pointer_expression "*(code **)(pcVar17 + 0x46078)" * (cast_expression "(code **)(pcVar17 + 0x46078)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x46078)" ( (binary_expression "pcVar17 + 0x46078" identifier + number_literal) ))))) )) (argument_list "(pCsr,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013;" (assignment_expression "pCursor[0x12].pVtab = (sqlite3_vtab *)&DAT_00000013" (field_expression "pCursor[0x12].pVtab" (subscript_expression "pCursor[0x12]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)&DAT_00000013" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000013" & identifier))) ;) }))) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (if_statement "if (iVar24 != 0) goto LAB_0014ae0c;" if (parenthesized_expression "(iVar24 != 0)" ( (binary_expression "iVar24 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014ae0c;" goto statement_identifier ;)) }))) (expression_statement "iVar24 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(*ppuVar27,1);" (assignment_expression "iVar24 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(*ppuVar27,1)" identifier = (call_expression "(*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(*ppuVar27,1)" (parenthesized_expression "(*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))" ( (pointer_expression "*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60)" * (cast_expression "(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x45ee0) + 0x6f60)" ( (binary_expression "*(int *)(pcVar17 + 0x45ee0) + 0x6f60" (pointer_expression "*(int *)(pcVar17 + 0x45ee0)" * (cast_expression "(int *)(pcVar17 + 0x45ee0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ee0)" ( (binary_expression "pcVar17 + 0x45ee0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*ppuVar27,1)" ( (pointer_expression "*ppuVar27" * identifier) , number_literal )))) ;) (if_statement "if (iVar24 != 0) {\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24);\n    pCursor[0xf].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x10].pVtab = psVar11;\n  }" if (parenthesized_expression "(iVar24 != 0)" ( (binary_expression "iVar24 != 0" identifier != number_literal) )) (compound_statement "{\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24);\n    pCursor[0xf].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x10].pVtab = psVar11;\n  }" { (expression_statement "psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24);" (assignment_expression "psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24)" identifier = (cast_expression "(sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24)" (parenthesized_expression "(**(code **)(pcVar17 + 0x45c84))" ( (pointer_expression "**(code **)(pcVar17 + 0x45c84)" * (pointer_expression "*(code **)(pcVar17 + 0x45c84)" * (cast_expression "(code **)(pcVar17 + 0x45c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x45c84)" ( (binary_expression "pcVar17 + 0x45c84" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,iVar24)" ( (binary_expression "*(int *)(pcVar17 + 0x45c7c) + -0x5dfc" (pointer_expression "*(int *)(pcVar17 + 0x45c7c)" * (cast_expression "(int *)(pcVar17 + 0x45c7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45c7c)" ( (binary_expression "pcVar17 + 0x45c7c" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (expression_statement "pCursor[0xf].pVtab = psVar11;" (assignment_expression "pCursor[0xf].pVtab = psVar11" (field_expression "pCursor[0xf].pVtab" (subscript_expression "pCursor[0xf]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (if_statement "if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }" if (parenthesized_expression "(psVar11 == (sqlite3_vtab *)0x0)" ( (binary_expression "psVar11 == (sqlite3_vtab *)0x0" identifier == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return 7;\n    }" { (return_statement "return 7;" return number_literal ;) })) (expression_statement "psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);" (assignment_expression "psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11)" identifier = (cast_expression "(sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x460a0))(psVar11)" (parenthesized_expression "(**(code **)(pcVar17 + 0x460a0))" ( (pointer_expression "**(code **)(pcVar17 + 0x460a0)" * (pointer_expression "*(code **)(pcVar17 + 0x460a0)" * (cast_expression "(code **)(pcVar17 + 0x460a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x460a0)" ( (binary_expression "pcVar17 + 0x460a0" identifier + number_literal) ))))) )) (argument_list "(psVar11)" ( identifier ))))) ;) (expression_statement "pCursor[0x10].pVtab = psVar11;" (assignment_expression "pCursor[0x10].pVtab = psVar11" (field_expression "pCursor[0x10].pVtab" (subscript_expression "pCursor[0x10]" identifier [ number_literal ]) . field_identifier) = identifier) ;) })) (labeled_statement "LAB_0014ae0c:\n  if (iVar21 != -1) {\n    uVar6 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(ppuVar27[iVar21],1);\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6);\n    pCursor[0x13].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x14].pVtab = psVar11;\n  }" statement_identifier : (if_statement "if (iVar21 != -1) {\n    uVar6 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(ppuVar27[iVar21],1);\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6);\n    pCursor[0x13].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x14].pVtab = psVar11;\n  }" if (parenthesized_expression "(iVar21 != -1)" ( (binary_expression "iVar21 != -1" identifier != number_literal) )) (compound_statement "{\n    uVar6 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(ppuVar27[iVar21],1);\n    psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6);\n    pCursor[0x13].pVtab = psVar11;\n    if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }\n    psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);\n    pCursor[0x14].pVtab = psVar11;\n  }" { (expression_statement "uVar6 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(ppuVar27[iVar21],1);" (assignment_expression "uVar6 = (*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(ppuVar27[iVar21],1)" identifier = (call_expression "(*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))(ppuVar27[iVar21],1)" (parenthesized_expression "(*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60))" ( (pointer_expression "*(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60)" * (cast_expression "(code *)(*(int *)(pcVar17 + 0x45ee0) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x45ee0) + 0x6f60)" ( (binary_expression "*(int *)(pcVar17 + 0x45ee0) + 0x6f60" (pointer_expression "*(int *)(pcVar17 + 0x45ee0)" * (cast_expression "(int *)(pcVar17 + 0x45ee0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ee0)" ( (binary_expression "pcVar17 + 0x45ee0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppuVar27[iVar21],1)" ( (subscript_expression "ppuVar27[iVar21]" identifier [ identifier ]) , number_literal )))) ;) (expression_statement "psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6);" (assignment_expression "psVar11 = (sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6)" identifier = (cast_expression "(sqlite3_vtab *)\n              (**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x45c84))(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6)" (parenthesized_expression "(**(code **)(pcVar17 + 0x45c84))" ( (pointer_expression "**(code **)(pcVar17 + 0x45c84)" * (pointer_expression "*(code **)(pcVar17 + 0x45c84)" * (cast_expression "(code **)(pcVar17 + 0x45c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x45c84)" ( (binary_expression "pcVar17 + 0x45c84" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x45c7c) + -0x5dfc,uVar6)" ( (binary_expression "*(int *)(pcVar17 + 0x45c7c) + -0x5dfc" (pointer_expression "*(int *)(pcVar17 + 0x45c7c)" * (cast_expression "(int *)(pcVar17 + 0x45c7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45c7c)" ( (binary_expression "pcVar17 + 0x45c7c" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (expression_statement "pCursor[0x13].pVtab = psVar11;" (assignment_expression "pCursor[0x13].pVtab = psVar11" (field_expression "pCursor[0x13].pVtab" (subscript_expression "pCursor[0x13]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (if_statement "if (psVar11 == (sqlite3_vtab *)0x0) {\n      return 7;\n    }" if (parenthesized_expression "(psVar11 == (sqlite3_vtab *)0x0)" ( (binary_expression "psVar11 == (sqlite3_vtab *)0x0" identifier == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return 7;\n    }" { (return_statement "return 7;" return number_literal ;) })) (expression_statement "psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11);" (assignment_expression "psVar11 = (sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11)" identifier = (cast_expression "(sqlite3_vtab *)(**(code **)(pcVar17 + 0x460a0))(psVar11)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x460a0))(psVar11)" (parenthesized_expression "(**(code **)(pcVar17 + 0x460a0))" ( (pointer_expression "**(code **)(pcVar17 + 0x460a0)" * (pointer_expression "*(code **)(pcVar17 + 0x460a0)" * (cast_expression "(code **)(pcVar17 + 0x460a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x460a0)" ( (binary_expression "pcVar17 + 0x460a0" identifier + number_literal) ))))) )) (argument_list "(psVar11)" ( identifier ))))) ;) (expression_statement "pCursor[0x14].pVtab = psVar11;" (assignment_expression "pCursor[0x14].pVtab = psVar11" (field_expression "pCursor[0x14].pVtab" (subscript_expression "pCursor[0x14]" identifier [ number_literal ]) . field_identifier) = identifier) ;) }))) (if_statement "if (iVar4 == -1) {\n    psVar11 = (sqlite3_vtab *)0x0;\n  }\n  else {\n    (*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68))(ppuVar27[iVar4]);\n    psVar11 = extraout_v1;\n    if ((int)extraout_v1 < 0) {\n      psVar11 = (sqlite3_vtab *)0x0;\n    }\n  }" if (parenthesized_expression "(iVar4 == -1)" ( (binary_expression "iVar4 == -1" identifier == number_literal) )) (compound_statement "{\n    psVar11 = (sqlite3_vtab *)0x0;\n  }" { (expression_statement "psVar11 = (sqlite3_vtab *)0x0;" (assignment_expression "psVar11 = (sqlite3_vtab *)0x0" identifier = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    (*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68))(ppuVar27[iVar4]);\n    psVar11 = extraout_v1;\n    if ((int)extraout_v1 < 0) {\n      psVar11 = (sqlite3_vtab *)0x0;\n    }\n  }" else (compound_statement "{\n    (*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68))(ppuVar27[iVar4]);\n    psVar11 = extraout_v1;\n    if ((int)extraout_v1 < 0) {\n      psVar11 = (sqlite3_vtab *)0x0;\n    }\n  }" { (expression_statement "(*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68))(ppuVar27[iVar4]);" (call_expression "(*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68))(ppuVar27[iVar4])" (parenthesized_expression "(*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68))" ( (pointer_expression "*(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68)" * (cast_expression "(code *)(*(int *)(pcVar17 + 0x45ec8) + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x45ec8) + 0x7f68)" ( (binary_expression "*(int *)(pcVar17 + 0x45ec8) + 0x7f68" (pointer_expression "*(int *)(pcVar17 + 0x45ec8)" * (cast_expression "(int *)(pcVar17 + 0x45ec8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x45ec8)" ( (binary_expression "pcVar17 + 0x45ec8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppuVar27[iVar4])" ( (subscript_expression "ppuVar27[iVar4]" identifier [ identifier ]) ))) ;) (expression_statement "psVar11 = extraout_v1;" (assignment_expression "psVar11 = extraout_v1" identifier = identifier) ;) (if_statement "if ((int)extraout_v1 < 0) {\n      psVar11 = (sqlite3_vtab *)0x0;\n    }" if (parenthesized_expression "((int)extraout_v1 < 0)" ( (binary_expression "(int)extraout_v1 < 0" (cast_expression "(int)extraout_v1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      psVar11 = (sqlite3_vtab *)0x0;\n    }" { (expression_statement "psVar11 = (sqlite3_vtab *)0x0;" (assignment_expression "psVar11 = (sqlite3_vtab *)0x0" identifier = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }))) (expression_statement "pCursor[0x15].pVtab = psVar11;" (assignment_expression "pCursor[0x15].pVtab = psVar11" (field_expression "pCursor[0x15].pVtab" (subscript_expression "pCursor[0x15]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "iVar4 = sqlite3Fts3SegReaderCursor\n                    (pFVar14,(int)psVar11,0,-2,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab,0\n                     ,iVar7,pCsr);" (assignment_expression "iVar4 = sqlite3Fts3SegReaderCursor\n                    (pFVar14,(int)psVar11,0,-2,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab,0\n                     ,iVar7,pCsr)" identifier = (call_expression "sqlite3Fts3SegReaderCursor\n                    (pFVar14,(int)psVar11,0,-2,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab,0\n                     ,iVar7,pCsr)" identifier (argument_list "(pFVar14,(int)psVar11,0,-2,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab,0\n                     ,iVar7,pCsr)" ( identifier , (cast_expression "(int)psVar11" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , number_literal , (cast_expression "(char *)pCursor[0xf].pVtab" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pCursor[0xf].pVtab" (subscript_expression "pCursor[0xf]" identifier [ number_literal ]) . field_identifier)) , (cast_expression "(int)pCursor[0x10].pVtab" ( (type_descriptor "int" primitive_type) ) (field_expression "pCursor[0x10].pVtab" (subscript_expression "pCursor[0x10]" identifier [ number_literal ]) . field_identifier)) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n    pCursor[4].pVtab = (sqlite3_vtab *)(pCursor + 0xf);\n    iVar4 = fts3SegReaderStart(pFVar14,pCsr,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab);\n    if (iVar4 == 0) {\n      iVar4 = fts3auxNextMethod(pCursor);\n      return iVar4;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    pCursor[4].pVtab = (sqlite3_vtab *)(pCursor + 0xf);\n    iVar4 = fts3SegReaderStart(pFVar14,pCsr,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab);\n    if (iVar4 == 0) {\n      iVar4 = fts3auxNextMethod(pCursor);\n      return iVar4;\n    }\n  }" { (expression_statement "pCursor[4].pVtab = (sqlite3_vtab *)(pCursor + 0xf);" (assignment_expression "pCursor[4].pVtab = (sqlite3_vtab *)(pCursor + 0xf)" (field_expression "pCursor[4].pVtab" (subscript_expression "pCursor[4]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)(pCursor + 0xf)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pCursor + 0xf)" ( (binary_expression "pCursor + 0xf" identifier + number_literal) )))) ;) (expression_statement "iVar4 = fts3SegReaderStart(pFVar14,pCsr,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab);" (assignment_expression "iVar4 = fts3SegReaderStart(pFVar14,pCsr,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab)" identifier = (call_expression "fts3SegReaderStart(pFVar14,pCsr,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab)" identifier (argument_list "(pFVar14,pCsr,(char *)pCursor[0xf].pVtab,(int)pCursor[0x10].pVtab)" ( identifier , identifier , (cast_expression "(char *)pCursor[0xf].pVtab" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pCursor[0xf].pVtab" (subscript_expression "pCursor[0xf]" identifier [ number_literal ]) . field_identifier)) , (cast_expression "(int)pCursor[0x10].pVtab" ( (type_descriptor "int" primitive_type) ) (field_expression "pCursor[0x10].pVtab" (subscript_expression "pCursor[0x10]" identifier [ number_literal ]) . field_identifier)) )))) ;) (if_statement "if (iVar4 == 0) {\n      iVar4 = fts3auxNextMethod(pCursor);\n      return iVar4;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar4 = fts3auxNextMethod(pCursor);\n      return iVar4;\n    }" { (expression_statement "iVar4 = fts3auxNextMethod(pCursor);" (assignment_expression "iVar4 = fts3auxNextMethod(pCursor)" identifier = (call_expression "fts3auxNextMethod(pCursor)" identifier (argument_list "(pCursor)" ( identifier )))) ;) (return_statement "return iVar4;" return identifier ;) })) })) (return_statement "return iVar4;" return identifier ;) })))
(translation_unit "int * FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)\n\n{\n  code cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  int **ppiVar5;\n  int iVar6;\n  int *piVar7;\n  code *pcVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int extraout_v1;\n  int *piVar12;\n  int **ppiVar13;\n  uint uVar14;\n  code *pcVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  code *pcVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  int *piVar23;\n  undefined4 *puVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  int *unaff_s7;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int iVar30;\n  int iVar31;\n  undefined4 uVar32;\n  int *piStack_140;\n  uint uStack_13c;\n  code *pcStack_138;\n  int iStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_128;\n  int *piStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code *pcStack_118;\n  int *piStack_114;\n  int *piStack_110;\n  undefined4 uStack_10c;\n  int **ppiStack_f8;\n  undefined4 uStack_f4;\n  code *pcStack_f0;\n  int *piStack_e8;\n  int *piStack_e4;\n  int *piStack_dc;\n  code *pcStack_d8;\n  undefined *puStack_d4;\n  undefined4 *puStack_d0;\n  undefined4 *puStack_cc;\n  code *pcStack_c8;\n  undefined4 uStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  code *pcStack_98;\n  code *pcStack_94;\n  undefined *puStack_90;\n  undefined4 *puStack_8c;\n  undefined4 *puStack_88;\n  code *pcStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int *piStack_78;\n  code *pcStack_74;\n  code *pcStack_6c;\n  undefined8 local_60;\n  undefined4 local_50;\n  undefined4 local_3c;\n  int *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00190e24;\n  puVar25 = &local_30;\n  puVar24 = &local_34;\n  pcVar15 = (code *)&DAT_00000007;\n  local_38 = (int *)0x0;\n  pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_3c = param_2;\n  local_34 = param_2;\n  piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);\n  puVar28 = PTR_sqlite3_step_00190990;\n  piVar10 = unaff_s7;\n  if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }\nLAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }\n  pcVar8 = FUN_0014a840;\n  iVar6 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar28 + 0x4e0e0;\n  piVar7 = &iStack_a0;\n  puStack_90 = puVar22;\n  piVar26 = *(int **)(puVar28 + 0x465e4);\n  iStack_a0 = 0;\n  piStack_9c = (int *)*piVar26;\n  pcStack_98 = pcVar19;\n  pcStack_94 = param_1;\n  puStack_8c = puVar24;\n  puStack_88 = puVar25;\n  pcStack_84 = param_4;\n  piStack_80 = param_3;\n  piStack_7c = piVar10;\n  pcStack_74 = pcVar8;\n  pcStack_6c = pcVar15;\n  piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();\n  if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }\n  if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }\n  pcVar8 = *(code **)(puStack_b0 + -0x7b28);\n  uVar9 = 0x14aa90;\n  piVar12 = piStack_9c;\n  (*pcVar8)();\n  ppiStack_f8 = &piStack_e8;\n  piStack_dc = piVar20;\n  pcStack_f0 = pcVar8 + 0x4de90;\n  puStack_cc = puVar25;\n  pcVar19 = (code *)(piVar12 + 5);\n  puStack_d4 = puVar22;\n  uStack_c4 = uVar9;\n  pcStack_c8 = param_4;\n  puStack_d0 = puVar24;\n  pcStack_d8 = param_1;\n  piVar20 = *(int **)(pcVar8 + 0x46394);\n  iVar16 = *piVar7;\n  piStack_e4 = (int *)*piVar20;\n  piVar7 = piVar12;\n  pcVar15 = pcVar19;\n  iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();\n  if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }\nLAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }\n  pcVar8 = *(code **)(pcStack_f0 + -0x7b28);\n  uVar32 = 0x14ace0;\n  (*pcVar8)();\n  ppiVar13 = ppiStack_f8;\n  pcStack_138 = pcVar8 + 0x4dc40;\n  piVar23 = piVar7 + 1;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  pcStack_12c = (code *)piVar20;\n  pcStack_128 = param_1;\n  piStack_124 = piVar12;\n  pcStack_120 = (code *)puVar24;\n  pcStack_11c = pcVar19;\n  pcStack_118 = param_4;\n  piStack_114 = piVar26;\n  piStack_110 = piVar10;\n  uStack_10c = uVar32;\n  if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }\n  if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }\n  piVar7[0x15] = iVar29;\n  piStack_140 = piVar23;\n  piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);\n  if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }\n  iVar29 = piVar7[0x10];\n  piVar7[4] = (int)(piVar7 + 0xf);\n  piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);\n  piVar12 = piStack_114;\n  pcVar4 = pcStack_118;\n  pcVar8 = pcStack_11c;\n  pcVar19 = pcStack_120;\n  piVar10 = piStack_124;\n  pcVar15 = pcStack_128;\n  if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }\n  iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;\n  piStack_130 = (int *)pcStack_12c;\n  piStack_114 = piStack_110;\n  pcStack_118 = (code *)piVar12;\n  pcStack_11c = pcVar4;\n  pcStack_120 = pcVar8;\n  piStack_124 = (int *)pcVar19;\n  pcStack_128 = (code *)piVar10;\n  pcStack_12c = pcVar15;\n  piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);\n  iVar27 = piVar7[0x1a];\n  uVar17 = piVar7[0x19] + 1;\n  iVar16 = piVar7[0x1b];\n  iVar30 = iVar27 + 1;\n  iStack_134 = *piVar10;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];\n  piVar7[0x19] = uVar17;\n  piVar7[0x1a] = iVar30;\n  piStack_110 = (int *)iVar6;\n  if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }\nLAB_001487fc:\n  piVar12 = (int *)0x0;\nLAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }\n  pcVar15 = *(code **)(iVar31 + -0x7b28);\n  iVar6 = iStack_134;\n  (*pcVar15)();\n  piVar10 = ppiVar13[1];\n  if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }\n  (*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);\n  return (int *)0x0;\n}\n\n" (function_definition "int * FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)\n\n{\n  code cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  int **ppiVar5;\n  int iVar6;\n  int *piVar7;\n  code *pcVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int extraout_v1;\n  int *piVar12;\n  int **ppiVar13;\n  uint uVar14;\n  code *pcVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  code *pcVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  int *piVar23;\n  undefined4 *puVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  int *unaff_s7;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int iVar30;\n  int iVar31;\n  undefined4 uVar32;\n  int *piStack_140;\n  uint uStack_13c;\n  code *pcStack_138;\n  int iStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_128;\n  int *piStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code *pcStack_118;\n  int *piStack_114;\n  int *piStack_110;\n  undefined4 uStack_10c;\n  int **ppiStack_f8;\n  undefined4 uStack_f4;\n  code *pcStack_f0;\n  int *piStack_e8;\n  int *piStack_e4;\n  int *piStack_dc;\n  code *pcStack_d8;\n  undefined *puStack_d4;\n  undefined4 *puStack_d0;\n  undefined4 *puStack_cc;\n  code *pcStack_c8;\n  undefined4 uStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  code *pcStack_98;\n  code *pcStack_94;\n  undefined *puStack_90;\n  undefined4 *puStack_8c;\n  undefined4 *puStack_88;\n  code *pcStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int *piStack_78;\n  code *pcStack_74;\n  code *pcStack_6c;\n  undefined8 local_60;\n  undefined4 local_50;\n  undefined4 local_3c;\n  int *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00190e24;\n  puVar25 = &local_30;\n  puVar24 = &local_34;\n  pcVar15 = (code *)&DAT_00000007;\n  local_38 = (int *)0x0;\n  pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_3c = param_2;\n  local_34 = param_2;\n  piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);\n  puVar28 = PTR_sqlite3_step_00190990;\n  piVar10 = unaff_s7;\n  if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }\nLAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }\n  pcVar8 = FUN_0014a840;\n  iVar6 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar28 + 0x4e0e0;\n  piVar7 = &iStack_a0;\n  puStack_90 = puVar22;\n  piVar26 = *(int **)(puVar28 + 0x465e4);\n  iStack_a0 = 0;\n  piStack_9c = (int *)*piVar26;\n  pcStack_98 = pcVar19;\n  pcStack_94 = param_1;\n  puStack_8c = puVar24;\n  puStack_88 = puVar25;\n  pcStack_84 = param_4;\n  piStack_80 = param_3;\n  piStack_7c = piVar10;\n  pcStack_74 = pcVar8;\n  pcStack_6c = pcVar15;\n  piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();\n  if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }\n  if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }\n  pcVar8 = *(code **)(puStack_b0 + -0x7b28);\n  uVar9 = 0x14aa90;\n  piVar12 = piStack_9c;\n  (*pcVar8)();\n  ppiStack_f8 = &piStack_e8;\n  piStack_dc = piVar20;\n  pcStack_f0 = pcVar8 + 0x4de90;\n  puStack_cc = puVar25;\n  pcVar19 = (code *)(piVar12 + 5);\n  puStack_d4 = puVar22;\n  uStack_c4 = uVar9;\n  pcStack_c8 = param_4;\n  puStack_d0 = puVar24;\n  pcStack_d8 = param_1;\n  piVar20 = *(int **)(pcVar8 + 0x46394);\n  iVar16 = *piVar7;\n  piStack_e4 = (int *)*piVar20;\n  piVar7 = piVar12;\n  pcVar15 = pcVar19;\n  iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();\n  if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }\nLAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }\n  pcVar8 = *(code **)(pcStack_f0 + -0x7b28);\n  uVar32 = 0x14ace0;\n  (*pcVar8)();\n  ppiVar13 = ppiStack_f8;\n  pcStack_138 = pcVar8 + 0x4dc40;\n  piVar23 = piVar7 + 1;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  pcStack_12c = (code *)piVar20;\n  pcStack_128 = param_1;\n  piStack_124 = piVar12;\n  pcStack_120 = (code *)puVar24;\n  pcStack_11c = pcVar19;\n  pcStack_118 = param_4;\n  piStack_114 = piVar26;\n  piStack_110 = piVar10;\n  uStack_10c = uVar32;\n  if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }\n  if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }\n  piVar7[0x15] = iVar29;\n  piStack_140 = piVar23;\n  piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);\n  if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }\n  iVar29 = piVar7[0x10];\n  piVar7[4] = (int)(piVar7 + 0xf);\n  piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);\n  piVar12 = piStack_114;\n  pcVar4 = pcStack_118;\n  pcVar8 = pcStack_11c;\n  pcVar19 = pcStack_120;\n  piVar10 = piStack_124;\n  pcVar15 = pcStack_128;\n  if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }\n  iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;\n  piStack_130 = (int *)pcStack_12c;\n  piStack_114 = piStack_110;\n  pcStack_118 = (code *)piVar12;\n  pcStack_11c = pcVar4;\n  pcStack_120 = pcVar8;\n  piStack_124 = (int *)pcVar19;\n  pcStack_128 = (code *)piVar10;\n  pcStack_12c = pcVar15;\n  piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);\n  iVar27 = piVar7[0x1a];\n  uVar17 = piVar7[0x19] + 1;\n  iVar16 = piVar7[0x1b];\n  iVar30 = iVar27 + 1;\n  iStack_134 = *piVar10;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];\n  piVar7[0x19] = uVar17;\n  piVar7[0x1a] = iVar30;\n  piStack_110 = (int *)iVar6;\n  if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }\nLAB_001487fc:\n  piVar12 = (int *)0x0;\nLAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }\n  pcVar15 = *(code **)(iVar31 + -0x7b28);\n  iVar6 = iStack_134;\n  (*pcVar15)();\n  piVar10 = ppiVar13[1];\n  if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }\n  (*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);\n  return (int *)0x0;\n}" primitive_type (pointer_declarator "* FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)" * (function_declarator "FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)" identifier (parameter_list "(code *param_1,undefined4 param_2,int *param_3,code *param_4)" ( (parameter_declaration "code *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "code *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  code cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  int **ppiVar5;\n  int iVar6;\n  int *piVar7;\n  code *pcVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int extraout_v1;\n  int *piVar12;\n  int **ppiVar13;\n  uint uVar14;\n  code *pcVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  code *pcVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  int *piVar23;\n  undefined4 *puVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  int *unaff_s7;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int iVar30;\n  int iVar31;\n  undefined4 uVar32;\n  int *piStack_140;\n  uint uStack_13c;\n  code *pcStack_138;\n  int iStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_128;\n  int *piStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code *pcStack_118;\n  int *piStack_114;\n  int *piStack_110;\n  undefined4 uStack_10c;\n  int **ppiStack_f8;\n  undefined4 uStack_f4;\n  code *pcStack_f0;\n  int *piStack_e8;\n  int *piStack_e4;\n  int *piStack_dc;\n  code *pcStack_d8;\n  undefined *puStack_d4;\n  undefined4 *puStack_d0;\n  undefined4 *puStack_cc;\n  code *pcStack_c8;\n  undefined4 uStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  code *pcStack_98;\n  code *pcStack_94;\n  undefined *puStack_90;\n  undefined4 *puStack_8c;\n  undefined4 *puStack_88;\n  code *pcStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int *piStack_78;\n  code *pcStack_74;\n  code *pcStack_6c;\n  undefined8 local_60;\n  undefined4 local_50;\n  undefined4 local_3c;\n  int *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00190e24;\n  puVar25 = &local_30;\n  puVar24 = &local_34;\n  pcVar15 = (code *)&DAT_00000007;\n  local_38 = (int *)0x0;\n  pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_3c = param_2;\n  local_34 = param_2;\n  piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);\n  puVar28 = PTR_sqlite3_step_00190990;\n  piVar10 = unaff_s7;\n  if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }\nLAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }\n  pcVar8 = FUN_0014a840;\n  iVar6 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar28 + 0x4e0e0;\n  piVar7 = &iStack_a0;\n  puStack_90 = puVar22;\n  piVar26 = *(int **)(puVar28 + 0x465e4);\n  iStack_a0 = 0;\n  piStack_9c = (int *)*piVar26;\n  pcStack_98 = pcVar19;\n  pcStack_94 = param_1;\n  puStack_8c = puVar24;\n  puStack_88 = puVar25;\n  pcStack_84 = param_4;\n  piStack_80 = param_3;\n  piStack_7c = piVar10;\n  pcStack_74 = pcVar8;\n  pcStack_6c = pcVar15;\n  piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();\n  if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }\n  if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }\n  pcVar8 = *(code **)(puStack_b0 + -0x7b28);\n  uVar9 = 0x14aa90;\n  piVar12 = piStack_9c;\n  (*pcVar8)();\n  ppiStack_f8 = &piStack_e8;\n  piStack_dc = piVar20;\n  pcStack_f0 = pcVar8 + 0x4de90;\n  puStack_cc = puVar25;\n  pcVar19 = (code *)(piVar12 + 5);\n  puStack_d4 = puVar22;\n  uStack_c4 = uVar9;\n  pcStack_c8 = param_4;\n  puStack_d0 = puVar24;\n  pcStack_d8 = param_1;\n  piVar20 = *(int **)(pcVar8 + 0x46394);\n  iVar16 = *piVar7;\n  piStack_e4 = (int *)*piVar20;\n  piVar7 = piVar12;\n  pcVar15 = pcVar19;\n  iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();\n  if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }\nLAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }\n  pcVar8 = *(code **)(pcStack_f0 + -0x7b28);\n  uVar32 = 0x14ace0;\n  (*pcVar8)();\n  ppiVar13 = ppiStack_f8;\n  pcStack_138 = pcVar8 + 0x4dc40;\n  piVar23 = piVar7 + 1;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  pcStack_12c = (code *)piVar20;\n  pcStack_128 = param_1;\n  piStack_124 = piVar12;\n  pcStack_120 = (code *)puVar24;\n  pcStack_11c = pcVar19;\n  pcStack_118 = param_4;\n  piStack_114 = piVar26;\n  piStack_110 = piVar10;\n  uStack_10c = uVar32;\n  if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }\n  if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }\n  piVar7[0x15] = iVar29;\n  piStack_140 = piVar23;\n  piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);\n  if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }\n  iVar29 = piVar7[0x10];\n  piVar7[4] = (int)(piVar7 + 0xf);\n  piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);\n  piVar12 = piStack_114;\n  pcVar4 = pcStack_118;\n  pcVar8 = pcStack_11c;\n  pcVar19 = pcStack_120;\n  piVar10 = piStack_124;\n  pcVar15 = pcStack_128;\n  if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }\n  iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;\n  piStack_130 = (int *)pcStack_12c;\n  piStack_114 = piStack_110;\n  pcStack_118 = (code *)piVar12;\n  pcStack_11c = pcVar4;\n  pcStack_120 = pcVar8;\n  piStack_124 = (int *)pcVar19;\n  pcStack_128 = (code *)piVar10;\n  pcStack_12c = pcVar15;\n  piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);\n  iVar27 = piVar7[0x1a];\n  uVar17 = piVar7[0x19] + 1;\n  iVar16 = piVar7[0x1b];\n  iVar30 = iVar27 + 1;\n  iStack_134 = *piVar10;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];\n  piVar7[0x19] = uVar17;\n  piVar7[0x1a] = iVar30;\n  piStack_110 = (int *)iVar6;\n  if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }\nLAB_001487fc:\n  piVar12 = (int *)0x0;\nLAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }\n  pcVar15 = *(code **)(iVar31 + -0x7b28);\n  iVar6 = iStack_134;\n  (*pcVar15)();\n  piVar10 = ppiVar13[1];\n  if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }\n  (*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);\n  return (int *)0x0;\n}" { (declaration "code cVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int **ppiVar5;" primitive_type (pointer_declarator "**ppiVar5" * (pointer_declarator "*ppiVar5" * identifier)) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int **ppiVar13;" primitive_type (pointer_declarator "**ppiVar13" * (pointer_declarator "*ppiVar13" * identifier)) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "undefined4 uVar32;" type_identifier identifier ;) (declaration "int *piStack_140;" primitive_type (pointer_declarator "*piStack_140" * identifier) ;) (declaration "uint uStack_13c;" type_identifier identifier ;) (declaration "code *pcStack_138;" type_identifier (pointer_declarator "*pcStack_138" * identifier) ;) (declaration "int iStack_134;" primitive_type identifier ;) (declaration "int *piStack_130;" primitive_type (pointer_declarator "*piStack_130" * identifier) ;) (declaration "code *pcStack_12c;" type_identifier (pointer_declarator "*pcStack_12c" * identifier) ;) (declaration "code *pcStack_128;" type_identifier (pointer_declarator "*pcStack_128" * identifier) ;) (declaration "int *piStack_124;" primitive_type (pointer_declarator "*piStack_124" * identifier) ;) (declaration "code *pcStack_120;" type_identifier (pointer_declarator "*pcStack_120" * identifier) ;) (declaration "code *pcStack_11c;" type_identifier (pointer_declarator "*pcStack_11c" * identifier) ;) (declaration "code *pcStack_118;" type_identifier (pointer_declarator "*pcStack_118" * identifier) ;) (declaration "int *piStack_114;" primitive_type (pointer_declarator "*piStack_114" * identifier) ;) (declaration "int *piStack_110;" primitive_type (pointer_declarator "*piStack_110" * identifier) ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "int **ppiStack_f8;" primitive_type (pointer_declarator "**ppiStack_f8" * (pointer_declarator "*ppiStack_f8" * identifier)) ;) (declaration "undefined4 uStack_f4;" type_identifier identifier ;) (declaration "code *pcStack_f0;" type_identifier (pointer_declarator "*pcStack_f0" * identifier) ;) (declaration "int *piStack_e8;" primitive_type (pointer_declarator "*piStack_e8" * identifier) ;) (declaration "int *piStack_e4;" primitive_type (pointer_declarator "*piStack_e4" * identifier) ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "code *pcStack_d8;" type_identifier (pointer_declarator "*pcStack_d8" * identifier) ;) (declaration "undefined *puStack_d4;" type_identifier (pointer_declarator "*puStack_d4" * identifier) ;) (declaration "undefined4 *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "undefined4 *puStack_cc;" type_identifier (pointer_declarator "*puStack_cc" * identifier) ;) (declaration "code *pcStack_c8;" type_identifier (pointer_declarator "*pcStack_c8" * identifier) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "undefined *puStack_b0;" type_identifier (pointer_declarator "*puStack_b0" * identifier) ;) (declaration "code *pcStack_a4;" type_identifier (pointer_declarator "*pcStack_a4" * identifier) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "int *piStack_9c;" primitive_type (pointer_declarator "*piStack_9c" * identifier) ;) (declaration "code *pcStack_98;" type_identifier (pointer_declarator "*pcStack_98" * identifier) ;) (declaration "code *pcStack_94;" type_identifier (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "undefined *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "undefined4 *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "undefined4 *puStack_88;" type_identifier (pointer_declarator "*puStack_88" * identifier) ;) (declaration "code *pcStack_84;" type_identifier (pointer_declarator "*pcStack_84" * identifier) ;) (declaration "int *piStack_80;" primitive_type (pointer_declarator "*piStack_80" * identifier) ;) (declaration "int *piStack_7c;" primitive_type (pointer_declarator "*piStack_7c" * identifier) ;) (declaration "int *piStack_78;" primitive_type (pointer_declarator "*piStack_78" * identifier) ;) (declaration "code *pcStack_74;" type_identifier (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "code *pcStack_6c;" type_identifier (pointer_declarator "*pcStack_6c" * identifier) ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "int *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar22 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar22 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar25 = &local_30;" (assignment_expression "puVar25 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "puVar24 = &local_34;" (assignment_expression "puVar24 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "pcVar15 = (code *)&DAT_00000007;" (assignment_expression "pcVar15 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "local_38 = (int *)0x0;" (assignment_expression "local_38 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);" (assignment_expression "pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8)" identifier = (cast_expression "(code *)(PTR_LAB_00190c64 + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c64 + 0x10f8)" ( (binary_expression "PTR_LAB_00190c64 + 0x10f8" identifier + number_literal) )))) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_3c = param_2;" (assignment_expression "local_3c = param_2" identifier = identifier) ;) (expression_statement "local_34 = param_2;" (assignment_expression "local_34 = param_2" identifier = identifier) ;) (expression_statement "piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);" (assignment_expression "piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24)" identifier = (cast_expression "(int *)(*pcVar19)(param_1,7,puVar25,puVar24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar19)(param_1,7,puVar25,puVar24)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(param_1,7,puVar25,puVar24)" ( identifier , number_literal , identifier , identifier ))))) ;) (expression_statement "puVar28 = PTR_sqlite3_step_00190990;" (assignment_expression "puVar28 = PTR_sqlite3_step_00190990" identifier = identifier) ;) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" identifier = identifier) ;) (if_statement "if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }" if (parenthesized_expression "(piStack_78 == (int *)0x0)" ( (binary_expression "piStack_78 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }" { (expression_statement "iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_00190990)(local_30)" (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_30)" ( identifier )))) ;) (if_statement "if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }" if (parenthesized_expression "(iVar6 == 100)" ( (binary_expression "iVar6 == 100" identifier == number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }" { (if_statement "if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x2c) == 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) == 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        local_50 = 0;\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }" else (compound_statement "{\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }" { (expression_statement "local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;" (assignment_expression "local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_00190a4c" * (cast_expression "(code *)PTR_sqlite3_column_int_00190a4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30,*(int *)(param_1 + 0x18) + 1)" ( identifier , (binary_expression "*(int *)(param_1 + 0x18) + 1" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);" (assignment_expression "local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int64_001909a4)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int64_001909a4" * (cast_expression "(code *)PTR_sqlite3_column_int64_001909a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30,0)" ( identifier , number_literal )))) ;) (expression_statement "pcVar15 = (code *)0x1;" (assignment_expression "pcVar15 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);" (assignment_expression "piVar7 = (int *)FUN_0014a33c(param_1,1,local_50)" identifier = (cast_expression "(int *)FUN_0014a33c(param_1,1,local_50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014a33c(param_1,1,local_50)" identifier (argument_list "(param_1,1,local_50)" ( identifier , number_literal , identifier ))))) ;) (expression_statement "puVar3 = PTR_sqlite3_column_text_001909a8;" (assignment_expression "puVar3 = PTR_sqlite3_column_text_001909a8" identifier = identifier) ;) (expression_statement "puVar2 = PTR_sqlite3_column_bytes_0019099c;" (assignment_expression "puVar2 = PTR_sqlite3_column_bytes_0019099c" identifier = identifier) ;) (if_statement "if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }" { (expression_statement "piVar12 = (int *)0x1;" (assignment_expression "piVar12 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);" (assignment_expression "pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + -0x483c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + -0x483c)" ( (binary_expression "PTR_LAB_00190bc0 + -0x483c" identifier + number_literal) )))) ;) (do_statement "do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);" do (compound_statement "{\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        }" { (expression_statement "piVar10 = (int *)PTR_sqlite3_reset_00190a5c;" (assignment_expression "piVar10 = (int *)PTR_sqlite3_reset_00190a5c" identifier = (cast_expression "(int *)PTR_sqlite3_reset_00190a5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }" if (parenthesized_expression "(*(int *)(param_1 + 0x18) < (int)piVar12)" ( (binary_expression "*(int *)(param_1 + 0x18) < (int)piVar12" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) < (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }" { (labeled_statement "LAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" statement_identifier : (expression_statement "local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (assignment_expression "local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" ( identifier ))))) ;)) (expression_statement "piStack_78 = local_38;" (assignment_expression "piStack_78 = local_38" identifier = identifier) ;) (if_statement "if (local_38 != (int *)0x0) goto LAB_0014a65c;" if (parenthesized_expression "(local_38 != (int *)0x0)" ( (binary_expression "local_38 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }" if (parenthesized_expression "(*(int *)(param_1 + 0x28) == 0)" ( (binary_expression "*(int *)(param_1 + 0x28) == 0" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }" { (expression_statement "pcVar15 = (code *)0x1;" (assignment_expression "pcVar15 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);" (assignment_expression "piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24)" identifier = (cast_expression "(int *)(*pcVar19)(param_1,1,puVar25,puVar24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar19)(param_1,1,puVar25,puVar24)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(param_1,1,puVar25,puVar24)" ( identifier , number_literal , identifier , identifier ))))) ;) (if_statement "if (piStack_78 != (int *)0x0) goto LAB_0014a65c;" if (parenthesized_expression "(piStack_78 != (int *)0x0)" ( (binary_expression "piStack_78 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) (expression_statement "iVar6 = (*(code *)puVar28)(local_30);" (assignment_expression "iVar6 = (*(code *)puVar28)(local_30)" identifier = (call_expression "(*(code *)puVar28)(local_30)" (parenthesized_expression "(*(code *)puVar28)" ( (pointer_expression "*(code *)puVar28" * (cast_expression "(code *)puVar28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (if_statement "if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }" if (parenthesized_expression "(iVar6 == 100)" ( (binary_expression "iVar6 == 100" identifier == number_literal) )) (compound_statement "{\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }" { (expression_statement "pcVar15 = (code *)0x0;" (assignment_expression "pcVar15 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);" (assignment_expression "pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30)" identifier = (cast_expression "(code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_00190a4c" * (cast_expression "(code *)PTR_sqlite3_column_int_00190a4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier ))))) ;) (expression_statement "piStack_78 = (int *)(*(code *)piVar10)(local_30);" (assignment_expression "piStack_78 = (int *)(*(code *)piVar10)(local_30)" identifier = (cast_expression "(int *)(*(code *)piVar10)(local_30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piVar10)(local_30)" (parenthesized_expression "(*(code *)piVar10)" ( (pointer_expression "*(code *)piVar10" * (cast_expression "(code *)piVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier ))))) ;) (expression_statement "local_38 = piStack_78;" (assignment_expression "local_38 = piStack_78" identifier = identifier) ;) (if_statement "if (piStack_78 != (int *)0x0) goto LAB_0014a65c;" if (parenthesized_expression "(piStack_78 != (int *)0x0)" ( (binary_expression "piStack_78 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) (if_statement "if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }" if (parenthesized_expression "(pcVar19 != (code *)0x0)" ( (binary_expression "pcVar19 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }" { (expression_statement "piStack_78 = (int *)FUN_0012dd5c(param_1,1);" (assignment_expression "piStack_78 = (int *)FUN_0012dd5c(param_1,1)" identifier = (cast_expression "(int *)FUN_0012dd5c(param_1,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0012dd5c(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar15 = (code *)0x0;" (assignment_expression "pcVar15 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "(*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);" (call_expression "(*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8)" ( identifier , number_literal , (binary_expression "(*(int *)(param_1 + 0x18) + 1) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x18) + 1)" ( (binary_expression "*(int *)(param_1 + 0x18) + 1" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) )) * number_literal) ))) ;) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;) })) }) (else_clause "else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }" else (compound_statement "{\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }" { (expression_statement "piStack_78 = (int *)(*(code *)piVar10)();" (assignment_expression "piStack_78 = (int *)(*(code *)piVar10)()" identifier = (cast_expression "(int *)(*(code *)piVar10)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piVar10)()" (parenthesized_expression "(*(code *)piVar10)" ( (pointer_expression "*(code *)piVar10" * (cast_expression "(code *)piVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "local_38 = piStack_78;" (assignment_expression "local_38 = piStack_78" identifier = identifier) ;) (if_statement "if (piStack_78 != (int *)0x0) goto LAB_0014a65c;" if (parenthesized_expression "(piStack_78 != (int *)0x0)" ( (binary_expression "piStack_78 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;)) }))) })) (expression_statement "*param_3 = *param_3 + -1;" (assignment_expression "*param_3 = *param_3 + -1" (pointer_expression "*param_3" * identifier) = (binary_expression "*param_3 + -1" (pointer_expression "*param_3" * identifier) + number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }" if (parenthesized_expression "(*(int *)(param_1 + 0x28) == 0)" ( (binary_expression "*(int *)(param_1 + 0x28) == 0" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }" { (expression_statement "pcVar15 = param_1;" (assignment_expression "pcVar15 = param_1" identifier = identifier) ;) (expression_statement "FUN_0012dcb0(&local_38,param_1,0,&local_3c);" (call_expression "FUN_0012dcb0(&local_38,param_1,0,&local_3c)" identifier (argument_list "(&local_38,param_1,0,&local_3c)" ( (pointer_expression "&local_38" & identifier) , identifier , number_literal , (pointer_expression "&local_3c" & identifier) ))) ;) })) (expression_statement "piStack_78 = local_38;" (assignment_expression "piStack_78 = local_38" identifier = identifier) ;) (if_statement "if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }" if (parenthesized_expression "((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0))" ( (binary_expression "(param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)" (parenthesized_expression "(param_1[0xea] != (code)0x0)" ( (binary_expression "param_1[0xea] != (code)0x0" (subscript_expression "param_1[0xea]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "(local_38 == (int *)0x0)" ( (binary_expression "local_38 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }" { (expression_statement "pcVar15 = param_1;" (assignment_expression "pcVar15 = param_1" identifier = identifier) ;) (expression_statement "FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);" (call_expression "FUN_0012dcb0(&local_38,param_1,0x13,&local_3c)" identifier (argument_list "(&local_38,param_1,0x13,&local_3c)" ( (pointer_expression "&local_38" & identifier) , identifier , number_literal , (pointer_expression "&local_3c" & identifier) ))) ;) (expression_statement "piStack_78 = local_38;" (assignment_expression "piStack_78 = local_38" identifier = identifier) ;) })) (goto_statement "goto LAB_0014a65c;" goto statement_identifier ;) })) (expression_statement "pcVar15 = *(code **)(param_1 + 0x20);" (assignment_expression "pcVar15 = *(code **)(param_1 + 0x20)" identifier = (pointer_expression "*(code **)(param_1 + 0x20)" * (cast_expression "(code **)(param_1 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "cVar1 = pcVar15[(int)piVar12 + -1];" (assignment_expression "cVar1 = pcVar15[(int)piVar12 + -1]" identifier = (subscript_expression "pcVar15[(int)piVar12 + -1]" identifier [ (binary_expression "(int)piVar12 + -1" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "piVar7 = (int *)((int)piVar12 + -1);" (assignment_expression "piVar7 = (int *)((int)piVar12 + -1)" identifier = (cast_expression "(int *)((int)piVar12 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + -1)" ( (binary_expression "(int)piVar12 + -1" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s7 = piVar12;" (assignment_expression "unaff_s7 = piVar12" identifier = identifier) ;) (while_statement "while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }" while (parenthesized_expression "(cVar1 != (code)0x0)" ( (binary_expression "cVar1 != (code)0x0" identifier != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }" { (expression_statement "piVar12 = (int *)((int)unaff_s7 + 1);" (assignment_expression "piVar12 = (int *)((int)unaff_s7 + 1)" identifier = (cast_expression "(int *)((int)unaff_s7 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 1)" ( (binary_expression "(int)unaff_s7 + 1" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;" if (parenthesized_expression "(*(int *)(param_1 + 0x18) < (int)piVar12)" ( (binary_expression "*(int *)(param_1 + 0x18) < (int)piVar12" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) < (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0014a6b4;" goto statement_identifier ;)) (expression_statement "piVar7 = unaff_s7;" (assignment_expression "piVar7 = unaff_s7" identifier = identifier) ;) (expression_statement "unaff_s7 = piVar12;" (assignment_expression "unaff_s7 = piVar12" identifier = identifier) ;) (expression_statement "cVar1 = (pcVar15 + (int)piVar12)[-1];" (assignment_expression "cVar1 = (pcVar15 + (int)piVar12)[-1]" identifier = (subscript_expression "(pcVar15 + (int)piVar12)[-1]" (parenthesized_expression "(pcVar15 + (int)piVar12)" ( (binary_expression "pcVar15 + (int)piVar12" identifier + (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) [ number_literal ])) ;) })) (expression_statement "uVar9 = (*(code *)puVar3)(local_30,unaff_s7);" (assignment_expression "uVar9 = (*(code *)puVar3)(local_30,unaff_s7)" identifier = (call_expression "(*(code *)puVar3)(local_30,unaff_s7)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30,unaff_s7)" ( identifier , identifier )))) ;) (expression_statement "local_60._0_4_ = param_4 + (int)piVar7 * 4;" (assignment_expression "local_60._0_4_ = param_4 + (int)piVar7 * 4" (field_expression "local_60._0_4_" identifier . field_identifier) = (binary_expression "param_4 + (int)piVar7 * 4" identifier + (binary_expression "(int)piVar7 * 4" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);" (assignment_expression "piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff)" identifier = (cast_expression "(int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar8)(param_1,local_50,uVar9,0xffffffff)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(param_1,local_50,uVar9,0xffffffff)" ( identifier , identifier , identifier , number_literal ))))) ;) (expression_statement "iVar6 = (*(code *)puVar2)(local_30,unaff_s7);" (assignment_expression "iVar6 = (*(code *)puVar2)(local_30,unaff_s7)" identifier = (call_expression "(*(code *)puVar2)(local_30,unaff_s7)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30,unaff_s7)" ( identifier , identifier )))) ;) (expression_statement "piVar12 = (int *)((int)unaff_s7 + 1);" (assignment_expression "piVar12 = (int *)((int)unaff_s7 + 1)" identifier = (cast_expression "(int *)((int)unaff_s7 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 1)" ( (binary_expression "(int)unaff_s7 + 1" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;" (assignment_expression "pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4" identifier = (binary_expression "param_4 + *(int *)(param_1 + 0x18) * 4" identifier + (binary_expression "*(int *)(param_1 + 0x18) * 4" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)pcVar15 = *(int *)pcVar15 + iVar6;" (assignment_expression "*(int *)pcVar15 = *(int *)pcVar15 + iVar6" (pointer_expression "*(int *)pcVar15" * (cast_expression "(int *)pcVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)pcVar15 + iVar6" (pointer_expression "*(int *)pcVar15" * (cast_expression "(int *)pcVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier)) ;) }) while (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" ( identifier ))) ;) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" identifier = identifier) ;) (expression_statement "piStack_78 = piVar7;" (assignment_expression "piStack_78 = piVar7" identifier = identifier) ;) }) (else_clause "else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }" else (compound_statement "{\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }" { (expression_statement "piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (assignment_expression "piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" ( identifier ))))) ;) }))) }) (else_clause "else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }" else (compound_statement "{\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }" { (expression_statement "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" ( identifier ))) ;) }))) (labeled_statement "LAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar22)" ( (binary_expression "local_2c == *(int *)puVar22" identifier == (pointer_expression "*(int *)puVar22" * (cast_expression "(int *)puVar22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return piStack_78;\n  }" { (return_statement "return piStack_78;" return identifier ;) }))) (expression_statement "pcVar8 = FUN_0014a840;" (assignment_expression "pcVar8 = FUN_0014a840" identifier = identifier) ;) (expression_statement "iVar6 = local_2c;" (assignment_expression "iVar6 = local_2c" identifier = identifier) ;) (expression_statement "puVar28 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar28 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_b0 = puVar28 + 0x4e0e0;" (assignment_expression "puStack_b0 = puVar28 + 0x4e0e0" identifier = (binary_expression "puVar28 + 0x4e0e0" identifier + number_literal)) ;) (expression_statement "piVar7 = &iStack_a0;" (assignment_expression "piVar7 = &iStack_a0" identifier = (pointer_expression "&iStack_a0" & identifier)) ;) (expression_statement "puStack_90 = puVar22;" (assignment_expression "puStack_90 = puVar22" identifier = identifier) ;) (expression_statement "piVar26 = *(int **)(puVar28 + 0x465e4);" (assignment_expression "piVar26 = *(int **)(puVar28 + 0x465e4)" identifier = (pointer_expression "*(int **)(puVar28 + 0x465e4)" * (cast_expression "(int **)(puVar28 + 0x465e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x465e4)" ( (binary_expression "puVar28 + 0x465e4" identifier + number_literal) ))))) ;) (expression_statement "iStack_a0 = 0;" (assignment_expression "iStack_a0 = 0" identifier = number_literal) ;) (expression_statement "piStack_9c = (int *)*piVar26;" (assignment_expression "piStack_9c = (int *)*piVar26" identifier = (cast_expression "(int *)*piVar26" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier))) ;) (expression_statement "pcStack_98 = pcVar19;" (assignment_expression "pcStack_98 = pcVar19" identifier = identifier) ;) (expression_statement "pcStack_94 = param_1;" (assignment_expression "pcStack_94 = param_1" identifier = identifier) ;) (expression_statement "puStack_8c = puVar24;" (assignment_expression "puStack_8c = puVar24" identifier = identifier) ;) (expression_statement "puStack_88 = puVar25;" (assignment_expression "puStack_88 = puVar25" identifier = identifier) ;) (expression_statement "pcStack_84 = param_4;" (assignment_expression "pcStack_84 = param_4" identifier = identifier) ;) (expression_statement "piStack_80 = param_3;" (assignment_expression "piStack_80 = param_3" identifier = identifier) ;) (expression_statement "piStack_7c = piVar10;" (assignment_expression "piStack_7c = piVar10" identifier = identifier) ;) (expression_statement "pcStack_74 = pcVar8;" (assignment_expression "pcStack_74 = pcVar8" identifier = identifier) ;) (expression_statement "pcStack_6c = pcVar15;" (assignment_expression "pcStack_6c = pcVar15" identifier = identifier) ;) (expression_statement "piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();" (assignment_expression "piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))()" identifier = (cast_expression "(int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))()" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))" ( (pointer_expression "*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8)" * (cast_expression "(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar28 + 0x46424) + 0x10f8)" ( (binary_expression "*(int *)(puVar28 + 0x46424) + 0x10f8" (pointer_expression "*(int *)(puVar28 + 0x46424)" * (cast_expression "(int *)(puVar28 + 0x46424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x46424)" ( (binary_expression "puVar28 + 0x46424" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }" { (expression_statement "pcVar15 = *(code **)(puStack_b0 + -0x7e90);" (assignment_expression "pcVar15 = *(code **)(puStack_b0 + -0x7e90)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7e90)" * (cast_expression "(code **)(puStack_b0 + -0x7e90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7e90)" ( (binary_expression "puStack_b0 + -0x7e90" identifier + number_literal) ))))) ;) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);" (assignment_expression "pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7ed4)" * (cast_expression "(code **)(puStack_b0 + -0x7ed4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ed4)" ( (binary_expression "puStack_b0 + -0x7ed4" identifier + number_literal) ))))) ;) (expression_statement "param_4 = *(code **)(puStack_b0 + -0x7f90);" (assignment_expression "param_4 = *(code **)(puStack_b0 + -0x7f90)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7f90)" * (cast_expression "(code **)(puStack_b0 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7f90)" ( (binary_expression "puStack_b0 + -0x7f90" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);" (call_expression "(*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f)" ( identifier , number_literal , (binary_expression "*(int *)(iVar6 + 0x118) >> 0x1f" (pointer_expression "*(int *)(iVar6 + 0x118)" * (cast_expression "(int *)(iVar6 + 0x118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x118)" ( (binary_expression "iVar6 + 0x118" identifier + number_literal) )))) >> number_literal) ))) ;) (expression_statement "piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);" (assignment_expression "piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f)" identifier = (cast_expression "(int *)(*(int *)(iVar6 + 0xfc) >> 0x1f)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar6 + 0xfc) >> 0x1f)" ( (binary_expression "*(int *)(iVar6 + 0xfc) >> 0x1f" (pointer_expression "*(int *)(iVar6 + 0xfc)" * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "(*pcVar15)(iStack_a0,2);" (call_expression "(*pcVar15)(iStack_a0,2)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(iStack_a0,2)" ( identifier , number_literal ))) ;) (expression_statement "puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);" (assignment_expression "puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" identifier = (cast_expression "(undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" ( (binary_expression "*(int *)(puStack_b0 + -0x7d6c) + -0x7224" (pointer_expression "*(int *)(puStack_b0 + -0x7d6c)" * (cast_expression "(int *)(puStack_b0 + -0x7d6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b0 + -0x7d6c)" ( (binary_expression "puStack_b0 + -0x7d6c" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;" statement_identifier : (expression_statement "puVar25 = (undefined4 *)&DAT_00000064;" (assignment_expression "puVar25 = (undefined4 *)&DAT_00000064" identifier = (cast_expression "(undefined4 *)&DAT_00000064" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000064" & identifier))) ;)) (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar29 = (*param_4)(iStack_a0);" (assignment_expression "iVar29 = (*param_4)(iStack_a0)" identifier = (call_expression "(*param_4)(iStack_a0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(iStack_a0)" ( identifier )))) ;) (while_statement "while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }" while (parenthesized_expression "(iVar29 == 100)" ( (binary_expression "iVar29 == 100" identifier == number_literal) )) (compound_statement "{\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }" { (expression_statement "param_1 = (code *)0x65;" (assignment_expression "param_1 = (code *)0x65" identifier = (cast_expression "(code *)0x65" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar9 = (*pcStack_a4)(iStack_a0,0);" (assignment_expression "uVar9 = (*pcStack_a4)(iStack_a0,0)" identifier = (call_expression "(*pcStack_a4)(iStack_a0,0)" (parenthesized_expression "(*pcStack_a4)" ( (pointer_expression "*pcStack_a4" * identifier) )) (argument_list "(iStack_a0,0)" ( identifier , number_literal )))) ;) (expression_statement "piVar12 = piVar10;" (assignment_expression "piVar12 = piVar10" identifier = identifier) ;) (while_statement "while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }" while (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }" { (if_statement "if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;" if (parenthesized_expression "(*(int *)(iVar6 + 0xfc) <= (int)piVar12)" ( (binary_expression "*(int *)(iVar6 + 0xfc) <= (int)piVar12" (pointer_expression "*(int *)(iVar6 + 0xfc)" * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) )))) <= (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0014a978;" goto statement_identifier ;)) (while_statement "while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }" { (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);" (assignment_expression "piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe)" identifier = (cast_expression "(int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe)" identifier (argument_list "(iVar6,uVar9,piVar12,0xfffffffe)" ( identifier , identifier , identifier , number_literal ))))) ;) (expression_statement "piVar12 = (int *)((int)piVar12 + 1);" (assignment_expression "piVar12 = (int *)((int)piVar12 + 1)" identifier = (cast_expression "(int *)((int)piVar12 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 1)" ( (binary_expression "(int)piVar12 + 1" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar10 != (int *)0x65) break;" if (parenthesized_expression "(piVar10 != (int *)0x65)" ( (binary_expression "piVar10 != (int *)0x65" identifier != (cast_expression "(int *)0x65" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;" if (parenthesized_expression "(*(int *)(iVar6 + 0xfc) <= (int)piVar12)" ( (binary_expression "*(int *)(iVar6 + 0xfc) <= (int)piVar12" (pointer_expression "*(int *)(iVar6 + 0xfc)" * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) )))) <= (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0014a978;" goto statement_identifier ;)) })) })) (expression_statement "iVar29 = (*param_4)(iStack_a0);" (assignment_expression "iVar29 = (*param_4)(iStack_a0)" identifier = (call_expression "(*param_4)(iStack_a0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(iStack_a0)" ( identifier )))) ;) })) (expression_statement "piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();" (assignment_expression "piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))()" identifier = (cast_expression "(int *)(**(code **)(puStack_b0 + -0x7ec4))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_b0 + -0x7ec4))()" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ec4))" ( (pointer_expression "**(code **)(puStack_b0 + -0x7ec4)" * (pointer_expression "*(code **)(puStack_b0 + -0x7ec4)" * (cast_expression "(code **)(puStack_b0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ec4)" ( (binary_expression "puStack_b0 + -0x7ec4" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "piVar12 = piVar10;" (assignment_expression "piVar12 = piVar10" identifier = identifier) ;) (if_statement "if (piVar10 != (int *)0x0) goto LAB_0014a8bc;" if (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014a8bc;" goto statement_identifier ;)) (expression_statement "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));" (call_expression "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8))" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ccc))" ( (pointer_expression "**(code **)(puStack_b0 + -0x7ccc)" * (pointer_expression "*(code **)(puStack_b0 + -0x7ccc)" * (cast_expression "(code **)(puStack_b0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ccc)" ( (binary_expression "puStack_b0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 0xf8))" ( (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" * (cast_expression "(undefined4 *)(iVar6 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xf8)" ( (binary_expression "iVar6 + 0xf8" identifier + number_literal) )))) ))) ;) (expression_statement "iVar29 = *(int *)(puStack_b0 + -0x7d78);" (assignment_expression "iVar29 = *(int *)(puStack_b0 + -0x7d78)" identifier = (pointer_expression "*(int *)(puStack_b0 + -0x7d78)" * (cast_expression "(int *)(puStack_b0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b0 + -0x7d78)" ( (binary_expression "puStack_b0 + -0x7d78" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xf8) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0xf8) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" * (cast_expression "(undefined4 *)(iVar6 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xf8)" ( (binary_expression "iVar6 + 0xf8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)(iVar29 + -0x550))(iVar6);" (call_expression "(*(code *)(iVar29 + -0x550))(iVar6)" (parenthesized_expression "(*(code *)(iVar29 + -0x550))" ( (pointer_expression "*(code *)(iVar29 + -0x550)" * (cast_expression "(code *)(iVar29 + -0x550)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x550)" ( (binary_expression "iVar29 + -0x550" identifier + number_literal) )))) )) (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }" if (parenthesized_expression "(((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0))" ( (binary_expression "((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)" (parenthesized_expression "((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0))" ( (binary_expression "(piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)" (parenthesized_expression "(piVar20 == (int *)0x0)" ( (binary_expression "piVar20 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcStack_6c != (code *)0x0)" ( (binary_expression "pcStack_6c != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)" ( (comma_expression "piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0" (assignment_expression "piVar20 = (int *)0x65" identifier = (cast_expression "(int *)0x65" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "puVar24 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      piVar20 = (int *)0x0;\n    }" { (expression_statement "piVar20 = (int *)0x0;" (assignment_expression "piVar20 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }" else (compound_statement "{\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }" { (labeled_statement "LAB_0014a8bc:\n    piVar20 = piVar12;" statement_identifier : (expression_statement "piVar20 = piVar12;" (assignment_expression "piVar20 = piVar12" identifier = identifier) ;)) (expression_statement "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));" (call_expression "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8))" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ccc))" ( (pointer_expression "**(code **)(puStack_b0 + -0x7ccc)" * (pointer_expression "*(code **)(puStack_b0 + -0x7ccc)" * (cast_expression "(code **)(puStack_b0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7ccc)" ( (binary_expression "puStack_b0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 0xf8))" ( (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" * (cast_expression "(undefined4 *)(iVar6 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xf8)" ( (binary_expression "iVar6 + 0xf8" identifier + number_literal) )))) ))) ;) (expression_statement "iVar29 = *(int *)(puStack_b0 + -0x7d78);" (assignment_expression "iVar29 = *(int *)(puStack_b0 + -0x7d78)" identifier = (pointer_expression "*(int *)(puStack_b0 + -0x7d78)" * (cast_expression "(int *)(puStack_b0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_b0 + -0x7d78)" ( (binary_expression "puStack_b0 + -0x7d78" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xf8) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0xf8) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" * (cast_expression "(undefined4 *)(iVar6 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xf8)" ( (binary_expression "iVar6 + 0xf8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)(iVar29 + -0x550))(iVar6);" (call_expression "(*(code *)(iVar29 + -0x550))(iVar6)" (parenthesized_expression "(*(code *)(iVar29 + -0x550))" ( (pointer_expression "*(code *)(iVar29 + -0x550)" * (cast_expression "(code *)(iVar29 + -0x550)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x550)" ( (binary_expression "iVar29 + -0x550" identifier + number_literal) )))) )) (argument_list "(iVar6)" ( identifier ))) ;) }))) (if_statement "if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }" if (parenthesized_expression "(piStack_9c == (int *)*piVar26)" ( (binary_expression "piStack_9c == (int *)*piVar26" identifier == (cast_expression "(int *)*piVar26" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier))) )) (compound_statement "{\n    return piVar20;\n  }" { (return_statement "return piVar20;" return identifier ;) })) (expression_statement "pcVar8 = *(code **)(puStack_b0 + -0x7b28);" (assignment_expression "pcVar8 = *(code **)(puStack_b0 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7b28)" * (cast_expression "(code **)(puStack_b0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7b28)" ( (binary_expression "puStack_b0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = 0x14aa90;" (assignment_expression "uVar9 = 0x14aa90" identifier = number_literal) ;) (expression_statement "piVar12 = piStack_9c;" (assignment_expression "piVar12 = piStack_9c" identifier = identifier) ;) (expression_statement "(*pcVar8)();" (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppiStack_f8 = &piStack_e8;" (assignment_expression "ppiStack_f8 = &piStack_e8" identifier = (pointer_expression "&piStack_e8" & identifier)) ;) (expression_statement "piStack_dc = piVar20;" (assignment_expression "piStack_dc = piVar20" identifier = identifier) ;) (expression_statement "pcStack_f0 = pcVar8 + 0x4de90;" (assignment_expression "pcStack_f0 = pcVar8 + 0x4de90" identifier = (binary_expression "pcVar8 + 0x4de90" identifier + number_literal)) ;) (expression_statement "puStack_cc = puVar25;" (assignment_expression "puStack_cc = puVar25" identifier = identifier) ;) (expression_statement "pcVar19 = (code *)(piVar12 + 5);" (assignment_expression "pcVar19 = (code *)(piVar12 + 5)" identifier = (cast_expression "(code *)(piVar12 + 5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 5)" ( (binary_expression "piVar12 + 5" identifier + number_literal) )))) ;) (expression_statement "puStack_d4 = puVar22;" (assignment_expression "puStack_d4 = puVar22" identifier = identifier) ;) (expression_statement "uStack_c4 = uVar9;" (assignment_expression "uStack_c4 = uVar9" identifier = identifier) ;) (expression_statement "pcStack_c8 = param_4;" (assignment_expression "pcStack_c8 = param_4" identifier = identifier) ;) (expression_statement "puStack_d0 = puVar24;" (assignment_expression "puStack_d0 = puVar24" identifier = identifier) ;) (expression_statement "pcStack_d8 = param_1;" (assignment_expression "pcStack_d8 = param_1" identifier = identifier) ;) (expression_statement "piVar20 = *(int **)(pcVar8 + 0x46394);" (assignment_expression "piVar20 = *(int **)(pcVar8 + 0x46394)" identifier = (pointer_expression "*(int **)(pcVar8 + 0x46394)" * (cast_expression "(int **)(pcVar8 + 0x46394)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x46394)" ( (binary_expression "pcVar8 + 0x46394" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *piVar7;" (assignment_expression "iVar16 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "piStack_e4 = (int *)*piVar20;" (assignment_expression "piStack_e4 = (int *)*piVar20" identifier = (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "pcVar15 = pcVar19;" (assignment_expression "pcVar15 = pcVar19" identifier = identifier) ;) (expression_statement "iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();" (assignment_expression "iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))()" identifier = (call_expression "(*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))" ( (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c)" * (cast_expression "(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar8 + 0x4613c) + -0x2a6c)" ( (binary_expression "*(int *)(pcVar8 + 0x4613c) + -0x2a6c" (pointer_expression "*(int *)(pcVar8 + 0x4613c)" * (cast_expression "(int *)(pcVar8 + 0x4613c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x4613c)" ( (binary_expression "pcVar8 + 0x4613c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "param_4 = *(code **)(pcStack_f0 + -0x7ed8);" (assignment_expression "param_4 = *(code **)(pcStack_f0 + -0x7ed8)" identifier = (pointer_expression "*(code **)(pcStack_f0 + -0x7ed8)" * (cast_expression "(code **)(pcStack_f0 + -0x7ed8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7ed8)" ( (binary_expression "pcStack_f0 + -0x7ed8" identifier + number_literal) ))))) ;) (expression_statement "puVar24 = (undefined4 *)*piStack_e8;" (assignment_expression "puVar24 = (undefined4 *)*piStack_e8" identifier = (cast_expression "(undefined4 *)*piStack_e8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStack_e8" * identifier))) ;) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);" (assignment_expression "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" identifier = (cast_expression "(code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" ( (subscript_expression "puVar24[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd30" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (param_1 != (code *)0x0) goto LAB_0014ab6c;" if (parenthesized_expression "(param_1 != (code *)0x0)" ( (binary_expression "param_1 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014ab6c;" goto statement_identifier ;)) (expression_statement "param_1 = (code *)FUN_0014a840(puVar24,1);" (assignment_expression "param_1 = (code *)FUN_0014a840(puVar24,1)" identifier = (cast_expression "(code *)FUN_0014a840(puVar24,1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014a840(puVar24,1)" identifier (argument_list "(puVar24,1)" ( identifier , number_literal ))))) ;) (if_statement "if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }" if (parenthesized_expression "(param_1 == (code *)0x0)" ( (binary_expression "param_1 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);" (assignment_expression "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" identifier = (cast_expression "(code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" ( (subscript_expression "puVar24[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd54" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (param_1 != (code *)0x0) goto LAB_0014ab6c;" if (parenthesized_expression "(param_1 != (code *)0x0)" ( (binary_expression "param_1 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014ab6c;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" (call_expression "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e])" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7ccc))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7ccc)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7ccc)" * (cast_expression "(code **)(pcStack_f0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7ccc)" ( (binary_expression "pcStack_f0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(puVar24[0x3e])" ( (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar24[0x3e] = 0;" (assignment_expression "puVar24[0x3e] = 0" (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;" statement_identifier : (expression_statement "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;" (assignment_expression "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64" identifier = (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd64" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;)) }) (else_clause "else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }" else (compound_statement "{\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }" if (parenthesized_expression "(param_1 == (code *)0x65)" ( (binary_expression "param_1 == (code *)0x65" identifier == (cast_expression "(code *)0x65" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }" { (expression_statement "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);" (assignment_expression "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" identifier = (cast_expression "(code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" ( (subscript_expression "puVar24[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd54" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (param_1 != (code *)0x0) goto LAB_0014ab6c;" if (parenthesized_expression "(param_1 != (code *)0x0)" ( (binary_expression "param_1 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014ab6c;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" (call_expression "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e])" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7ccc))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7ccc)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7ccc)" * (cast_expression "(code **)(pcStack_f0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7ccc)" ( (binary_expression "pcStack_f0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(puVar24[0x3e])" ( (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar24[0x3e] = 0;" (assignment_expression "puVar24[0x3e] = 0" (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }" else (compound_statement "{\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }" { (expression_statement "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);" (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40)" ( (subscript_expression "puVar24[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd40" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);" (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" ( (subscript_expression "puVar24[3]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd54" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (labeled_statement "LAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" statement_identifier : (expression_statement "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" (call_expression "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e])" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7ccc))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7ccc)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7ccc)" * (cast_expression "(code **)(pcStack_f0 + -0x7ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7ccc)" ( (binary_expression "pcStack_f0 + -0x7ccc" identifier + number_literal) ))))) )) (argument_list "(puVar24[0x3e])" ( (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) ))) ;)) (expression_statement "puVar24[0x3e] = 0;" (assignment_expression "puVar24[0x3e] = 0" (subscript_expression "puVar24[0x3e]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_1 == (code *)0x0) goto LAB_0014abe4;" if (parenthesized_expression "(param_1 == (code *)0x0)" ( (binary_expression "param_1 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014abe4;" goto statement_identifier ;)) (if_statement "if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }" if (parenthesized_expression "(param_1 != (code *)0x65)" ( (binary_expression "param_1 != (code *)0x65" identifier != (cast_expression "(code *)0x65" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }" { (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "pcVar15 = param_1;" (assignment_expression "pcVar15 = param_1" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_f0 + -0x7f4c))();" (call_expression "(**(code **)(pcStack_f0 + -0x7f4c))()" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7f4c))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7f4c)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7f4c)" * (cast_expression "(code **)(pcStack_f0 + -0x7f4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7f4c)" ( (binary_expression "pcStack_f0 + -0x7f4c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0014ab04;" goto statement_identifier ;) })) }))) (expression_statement "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;" (assignment_expression "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74" identifier = (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd74" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "uStack_f4 = 0;" (assignment_expression "uStack_f4 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = -1;" (assignment_expression "iVar16 = -1" identifier = number_literal) ;) (expression_statement "ppiStack_f8 = (int **)0x1;" (assignment_expression "ppiStack_f8 = (int **)0x1" identifier = (cast_expression "(int **)0x1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "pcVar15 = pcVar19;" (assignment_expression "pcVar15 = pcVar19" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);" (call_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))" ( (pointer_expression "*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0)" * (cast_expression "(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7d60) + -0x13c0" (pointer_expression "*(int *)(pcStack_f0 + -0x7d60)" * (cast_expression "(int *)(pcStack_f0 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7d60)" ( (binary_expression "pcStack_f0 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar12,pcVar19,iVar29)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }" statement_identifier : (if_statement "if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }" if (parenthesized_expression "(piStack_e4 == (int *)*piVar20)" ( (binary_expression "piStack_e4 == (int *)*piVar20" identifier == (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) )) (compound_statement "{\n    return (int *)*piVar20;\n  }" { (return_statement "return (int *)*piVar20;" return (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier)) ;) }))) (expression_statement "pcVar8 = *(code **)(pcStack_f0 + -0x7b28);" (assignment_expression "pcVar8 = *(code **)(pcStack_f0 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_f0 + -0x7b28)" * (cast_expression "(code **)(pcStack_f0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7b28)" ( (binary_expression "pcStack_f0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = 0x14ace0;" (assignment_expression "uVar32 = 0x14ace0" identifier = number_literal) ;) (expression_statement "(*pcVar8)();" (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppiVar13 = ppiStack_f8;" (assignment_expression "ppiVar13 = ppiStack_f8" identifier = identifier) ;) (expression_statement "pcStack_138 = pcVar8 + 0x4dc40;" (assignment_expression "pcStack_138 = pcVar8 + 0x4dc40" identifier = (binary_expression "pcVar8 + 0x4dc40" identifier + number_literal)) ;) (expression_statement "piVar23 = piVar7 + 1;" (assignment_expression "piVar23 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = *(undefined4 *)(*piVar7 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(*piVar7 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(*piVar7 + 0xc)" * (cast_expression "(undefined4 *)(*piVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar7 + 0xc)" ( (binary_expression "*piVar7 + 0xc" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ;) (expression_statement "pcStack_12c = (code *)piVar20;" (assignment_expression "pcStack_12c = (code *)piVar20" identifier = (cast_expression "(code *)piVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_128 = param_1;" (assignment_expression "pcStack_128 = param_1" identifier = identifier) ;) (expression_statement "piStack_124 = piVar12;" (assignment_expression "piStack_124 = piVar12" identifier = identifier) ;) (expression_statement "pcStack_120 = (code *)puVar24;" (assignment_expression "pcStack_120 = (code *)puVar24" identifier = (cast_expression "(code *)puVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_11c = pcVar19;" (assignment_expression "pcStack_11c = pcVar19" identifier = identifier) ;) (expression_statement "pcStack_118 = param_4;" (assignment_expression "pcStack_118 = param_4" identifier = identifier) ;) (expression_statement "piStack_114 = piVar26;" (assignment_expression "piStack_114 = piVar26" identifier = identifier) ;) (expression_statement "piStack_110 = piVar10;" (assignment_expression "piStack_110 = piVar10" identifier = identifier) ;) (expression_statement "uStack_10c = uVar32;" (assignment_expression "uStack_10c = uVar32" identifier = identifier) ;) (if_statement "if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }" if (parenthesized_expression "(pcVar15 == (code *)0x1)" ( (binary_expression "pcVar15 == (code *)0x1" identifier == (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }" { (if_statement "if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" if (parenthesized_expression "(iVar16 < 2)" ( (binary_expression "iVar16 < 2" identifier < number_literal) )) (compound_statement "{\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" { (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" * (cast_expression "(code **)(pcVar8 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x45c8c)" ( (binary_expression "pcVar8 + 0x45c8c" identifier + number_literal) ))))) ;) (expression_statement "iVar31 = -1;" (assignment_expression "iVar31 = -1" identifier = number_literal) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);" (call_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))" ( (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" * (cast_expression "(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (binary_expression "*(int *)(pcVar8 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" * (cast_expression "(int *)(pcVar8 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x45ef0)" ( (binary_expression "pcVar8 + 0x45ef0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar23)" ( identifier ))) ;) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0xf])" ( (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar29 = -1;" (assignment_expression "iVar29 = -1" identifier = number_literal) ;) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0x1c])" ( (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" * (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" * (cast_expression "(code **)(pcStack_138 + -0x7bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7bc8)" ( (binary_expression "pcStack_138 + -0x7bc8" identifier + number_literal) ))))) )) (argument_list "(piVar23,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar7[0x12] = 3;" (assignment_expression "piVar7[0x12] = 3" (subscript_expression "piVar7[0x12]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" else (compound_statement "{\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" { (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" * (cast_expression "(code **)(pcVar8 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x45c8c)" ( (binary_expression "pcVar8 + 0x45c8c" identifier + number_literal) ))))) ;) (expression_statement "iVar31 = -1;" (assignment_expression "iVar31 = -1" identifier = number_literal) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);" (call_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))" ( (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" * (cast_expression "(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (binary_expression "*(int *)(pcVar8 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" * (cast_expression "(int *)(pcVar8 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x45ef0)" ( (binary_expression "pcVar8 + 0x45ef0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar23)" ( identifier ))) ;) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0xf])" ( (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar29 = 1;" (assignment_expression "iVar29 = 1" identifier = number_literal) ;) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0x1c])" ( (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" * (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" * (cast_expression "(code **)(pcStack_138 + -0x7bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7bc8)" ( (binary_expression "pcStack_138 + -0x7bc8" identifier + number_literal) ))))) )) (argument_list "(piVar23,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar7[0x12] = 3;" (assignment_expression "piVar7[0x12] = 3" (subscript_expression "piVar7[0x12]" identifier [ number_literal ]) = number_literal) ;) }))) (labeled_statement "LAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);" statement_identifier : (expression_statement "iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);" (assignment_expression "iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))" ( (pointer_expression "*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" * (cast_expression "(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" ( (binary_expression "*(int *)(pcStack_138 + -0x7d60) + 0x6f60" (pointer_expression "*(int *)(pcStack_138 + -0x7d60)" * (cast_expression "(int *)(pcStack_138 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7d60)" ( (binary_expression "pcStack_138 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*ppiVar13,1)" ( (pointer_expression "*ppiVar13" * identifier) , number_literal )))) ;)) (if_statement "if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }" { (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16)" identifier = (call_expression "(**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7fbc))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7fbc)" * (pointer_expression "*(code **)(pcStack_138 + -0x7fbc)" * (cast_expression "(code **)(pcStack_138 + -0x7fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7fbc)" ( (binary_expression "pcStack_138 + -0x7fbc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16)" ( (binary_expression "*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc" (pointer_expression "*(int *)(pcStack_138 + -0x7fc4)" * (cast_expression "(int *)(pcStack_138 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7fc4)" ( (binary_expression "pcStack_138 + -0x7fc4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "piVar7[0xf] = iVar16;" (assignment_expression "piVar7[0xf] = iVar16" (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar16 == 0) goto LAB_0014b0b0;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014b0b0;" goto statement_identifier ;)) (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16)" identifier = (call_expression "(**(code **)(pcStack_138 + -0x7ba0))(iVar16)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7ba0))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7ba0)" * (pointer_expression "*(code **)(pcStack_138 + -0x7ba0)" * (cast_expression "(code **)(pcStack_138 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7ba0)" ( (binary_expression "pcStack_138 + -0x7ba0" identifier + number_literal) ))))) )) (argument_list "(iVar16)" ( identifier )))) ;) (expression_statement "piVar7[0x10] = iVar16;" (assignment_expression "piVar7[0x10] = iVar16" (subscript_expression "piVar7[0x10]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }" else (compound_statement "{\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }" { (if_statement "if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" if (parenthesized_expression "(((uint)pcVar15 & 2) == 0)" ( (binary_expression "((uint)pcVar15 & 2) == 0" (parenthesized_expression "((uint)pcVar15 & 2)" ( (binary_expression "(uint)pcVar15 & 2" (cast_expression "(uint)pcVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" { (expression_statement "iVar27 = -1;" (assignment_expression "iVar27 = -1" identifier = number_literal) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (if_statement "if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;" if (parenthesized_expression "(((uint)pcVar15 & 4) == 0)" ( (binary_expression "((uint)pcVar15 & 4) == 0" (parenthesized_expression "((uint)pcVar15 & 4)" ( (binary_expression "(uint)pcVar15 & 4" (cast_expression "(uint)pcVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0014aea4;" goto statement_identifier ;)) (labeled_statement "LAB_0014ad4c:\n      iVar29 = iVar31 + 1;" statement_identifier : (expression_statement "iVar29 = iVar31 + 1;" (assignment_expression "iVar29 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;)) (expression_statement "iVar30 = *(int *)(pcVar8 + 0x45ef0);" (assignment_expression "iVar30 = *(int *)(pcVar8 + 0x45ef0)" identifier = (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" * (cast_expression "(int *)(pcVar8 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x45ef0)" ( (binary_expression "pcVar8 + 0x45ef0" identifier + number_literal) ))))) ;) (if_statement "if (iVar29 < iVar16) goto LAB_0014aeb4;" if (parenthesized_expression "(iVar29 < iVar16)" ( (binary_expression "iVar29 < iVar16" identifier < identifier) )) (goto_statement "goto LAB_0014aeb4;" goto statement_identifier ;)) (labeled_statement "LAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);" statement_identifier : (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" * (cast_expression "(code **)(pcVar8 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x45c8c)" ( (binary_expression "pcVar8 + 0x45c8c" identifier + number_literal) ))))) ;)) (expression_statement "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);" (call_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))" ( (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" * (cast_expression "(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" ( (binary_expression "*(int *)(pcVar8 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" * (cast_expression "(int *)(pcVar8 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x45ef0)" ( (binary_expression "pcVar8 + 0x45ef0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar23)" ( identifier ))) ;) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0xf])" ( (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar29 = -1;" (assignment_expression "iVar29 = -1" identifier = number_literal) ;) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0x1c])" ( (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" * (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" * (cast_expression "(code **)(pcStack_138 + -0x7bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7bc8)" ( (binary_expression "pcStack_138 + -0x7bc8" identifier + number_literal) ))))) )) (argument_list "(piVar23,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar7[0x12] = 0x13;" (assignment_expression "piVar7[0x12] = 0x13" (subscript_expression "piVar7[0x12]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" else (compound_statement "{\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" { (expression_statement "iVar29 = 1;" (assignment_expression "iVar29 = 1" identifier = number_literal) ;) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "iVar31 = iVar29;" (assignment_expression "iVar31 = iVar29" identifier = identifier) ;) (if_statement "if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;" if (parenthesized_expression "(((uint)pcVar15 & 4) != 0)" ( (binary_expression "((uint)pcVar15 & 4) != 0" (parenthesized_expression "((uint)pcVar15 & 4)" ( (binary_expression "(uint)pcVar15 & 4" (cast_expression "(uint)pcVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0014ad4c;" goto statement_identifier ;)) (labeled_statement "LAB_0014aea4:\n      iVar31 = -1;" statement_identifier : (expression_statement "iVar31 = -1;" (assignment_expression "iVar31 = -1" identifier = number_literal) ;)) (if_statement "if (iVar16 <= iVar29) goto LAB_0014ad60;" if (parenthesized_expression "(iVar16 <= iVar29)" ( (binary_expression "iVar16 <= iVar29" identifier <= identifier) )) (goto_statement "goto LAB_0014ad60;" goto statement_identifier ;)) (expression_statement "iVar30 = *(int *)(pcVar8 + 0x45ef0);" (assignment_expression "iVar30 = *(int *)(pcVar8 + 0x45ef0)" identifier = (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" * (cast_expression "(int *)(pcVar8 + 0x45ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + 0x45ef0)" ( (binary_expression "pcVar8 + 0x45ef0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);" statement_identifier : (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" identifier = (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" * (cast_expression "(code **)(pcVar8 + 0x45c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar8 + 0x45c8c)" ( (binary_expression "pcVar8 + 0x45c8c" identifier + number_literal) ))))) ;)) (expression_statement "(*(code *)(iVar30 + -0x5eb4))(piVar23);" (call_expression "(*(code *)(iVar30 + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(iVar30 + -0x5eb4))" ( (pointer_expression "*(code *)(iVar30 + -0x5eb4)" * (cast_expression "(code *)(iVar30 + -0x5eb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + -0x5eb4)" ( (binary_expression "iVar30 + -0x5eb4" identifier + number_literal) )))) )) (argument_list "(piVar23)" ( identifier ))) ;) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0xf])" ( (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7[0x1c])" ( (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" * (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" * (cast_expression "(code **)(pcStack_138 + -0x7bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7bc8)" ( (binary_expression "pcStack_138 + -0x7bc8" identifier + number_literal) ))))) )) (argument_list "(piVar23,0,0x74)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar7[0x12] = 0x13;" (assignment_expression "piVar7[0x12] = 0x13" (subscript_expression "piVar7[0x12]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "uVar32 = 1;" (assignment_expression "uVar32 = 1" identifier = number_literal) ;) (if_statement "if (iVar27 == 0) goto LAB_0014adbc;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014adbc;" goto statement_identifier ;)) }))) (if_statement "if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }" if (parenthesized_expression "(iVar31 == -1)" ( (binary_expression "iVar31 == -1" identifier == number_literal) )) (compound_statement "{\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }" { (if_statement "if (iVar29 != -1) goto LAB_0014af60;" if (parenthesized_expression "(iVar29 != -1)" ( (binary_expression "iVar29 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0014af60;" goto statement_identifier ;)) (labeled_statement "LAB_0014ae20:\n    iVar29 = 0;" statement_identifier : (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }" else (compound_statement "{\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }" { (expression_statement "uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);" (assignment_expression "uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))" ( (pointer_expression "*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" * (cast_expression "(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" ( (binary_expression "*(int *)(pcStack_138 + -0x7d60) + 0x6f60" (pointer_expression "*(int *)(pcStack_138 + -0x7d60)" * (cast_expression "(int *)(pcStack_138 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7d60)" ( (binary_expression "pcStack_138 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppiVar13[iVar31],1)" ( (subscript_expression "ppiVar13[iVar31]" identifier [ identifier ]) , number_literal )))) ;) (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11)" identifier = (call_expression "(**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7fbc))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7fbc)" * (pointer_expression "*(code **)(pcStack_138 + -0x7fbc)" * (cast_expression "(code **)(pcStack_138 + -0x7fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7fbc)" ( (binary_expression "pcStack_138 + -0x7fbc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11)" ( (binary_expression "*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc" (pointer_expression "*(int *)(pcStack_138 + -0x7fc4)" * (cast_expression "(int *)(pcStack_138 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7fc4)" ( (binary_expression "pcStack_138 + -0x7fc4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "piVar7[0x13] = iVar16;" (assignment_expression "piVar7[0x13] = iVar16" (subscript_expression "piVar7[0x13]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }" { (labeled_statement "LAB_0014b0b0:\n      return (int *)&DAT_00000007;" statement_identifier : (return_statement "return (int *)&DAT_00000007;" return (cast_expression "(int *)&DAT_00000007" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier)) ;)) })) (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16)" identifier = (call_expression "(**(code **)(pcStack_138 + -0x7ba0))(iVar16)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7ba0))" ( (pointer_expression "**(code **)(pcStack_138 + -0x7ba0)" * (pointer_expression "*(code **)(pcStack_138 + -0x7ba0)" * (cast_expression "(code **)(pcStack_138 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_138 + -0x7ba0)" ( (binary_expression "pcStack_138 + -0x7ba0" identifier + number_literal) ))))) )) (argument_list "(iVar16)" ( identifier )))) ;) (expression_statement "piVar7[0x14] = iVar16;" (assignment_expression "piVar7[0x14] = iVar16" (subscript_expression "piVar7[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar29 == -1) goto LAB_0014ae20;" if (parenthesized_expression "(iVar29 == -1)" ( (binary_expression "iVar29 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0014ae20;" goto statement_identifier ;)) (labeled_statement "LAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);" statement_identifier : (expression_statement "(*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);" (call_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29])" (parenthesized_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))" ( (pointer_expression "*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68)" * (cast_expression "(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d78) + 0x7f68)" ( (binary_expression "*(int *)(pcStack_138 + -0x7d78) + 0x7f68" (pointer_expression "*(int *)(pcStack_138 + -0x7d78)" * (cast_expression "(int *)(pcStack_138 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7d78)" ( (binary_expression "pcStack_138 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppiVar13[iVar29])" ( (subscript_expression "ppiVar13[iVar29]" identifier [ identifier ]) ))) ;)) (expression_statement "iVar29 = extraout_v1;" (assignment_expression "iVar29 = extraout_v1" identifier = identifier) ;) (if_statement "if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }" if (parenthesized_expression "(extraout_v1 < 0)" ( (binary_expression "extraout_v1 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar29 = 0;\n    }" { (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) })) }))) (expression_statement "piVar7[0x15] = iVar29;" (assignment_expression "piVar7[0x15] = iVar29" (subscript_expression "piVar7[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piStack_140 = piVar23;" (assignment_expression "piStack_140 = piVar23" identifier = identifier) ;) (expression_statement "piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);" (assignment_expression "piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" identifier = (cast_expression "(int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" identifier (argument_list "(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" ( identifier , identifier , number_literal , number_literal , (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) , (subscript_expression "piVar7[0x10]" identifier [ number_literal ]) , number_literal , identifier ))))) ;) (if_statement "if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }" if (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return piVar10;\n  }" { (return_statement "return piVar10;" return identifier ;) })) (expression_statement "iVar29 = piVar7[0x10];" (assignment_expression "iVar29 = piVar7[0x10]" identifier = (subscript_expression "piVar7[0x10]" identifier [ number_literal ])) ;) (expression_statement "piVar7[4] = (int)(piVar7 + 0xf);" (assignment_expression "piVar7[4] = (int)(piVar7 + 0xf)" (subscript_expression "piVar7[4]" identifier [ number_literal ]) = (cast_expression "(int)(piVar7 + 0xf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 0xf)" ( (binary_expression "piVar7 + 0xf" identifier + number_literal) )))) ;) (expression_statement "piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);" (assignment_expression "piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29)" identifier = (cast_expression "(int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29)" identifier (argument_list "(uVar9,piVar23,piVar7[0xf],iVar29)" ( identifier , identifier , (subscript_expression "piVar7[0xf]" identifier [ number_literal ]) , identifier ))))) ;) (expression_statement "piVar12 = piStack_114;" (assignment_expression "piVar12 = piStack_114" identifier = identifier) ;) (expression_statement "pcVar4 = pcStack_118;" (assignment_expression "pcVar4 = pcStack_118" identifier = identifier) ;) (expression_statement "pcVar8 = pcStack_11c;" (assignment_expression "pcVar8 = pcStack_11c" identifier = identifier) ;) (expression_statement "pcVar19 = pcStack_120;" (assignment_expression "pcVar19 = pcStack_120" identifier = identifier) ;) (expression_statement "piVar10 = piStack_124;" (assignment_expression "piVar10 = piStack_124" identifier = identifier) ;) (expression_statement "pcVar15 = pcStack_128;" (assignment_expression "pcVar15 = pcStack_128" identifier = identifier) ;) (if_statement "if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }" if (parenthesized_expression "(piVar26 != (int *)0x0)" ( (binary_expression "piVar26 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return piVar26;\n  }" { (return_statement "return piVar26;" return identifier ;) })) (expression_statement "iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;" (assignment_expression "iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920" identifier = (binary_expression "*(int *)(pcStack_138 + -0x7d6c) + 0x48920" (pointer_expression "*(int *)(pcStack_138 + -0x7d6c)" * (cast_expression "(int *)(pcStack_138 + -0x7d6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7d6c)" ( (binary_expression "pcStack_138 + -0x7d6c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piStack_130 = (int *)pcStack_12c;" (assignment_expression "piStack_130 = (int *)pcStack_12c" identifier = (cast_expression "(int *)pcStack_12c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piStack_114 = piStack_110;" (assignment_expression "piStack_114 = piStack_110" identifier = identifier) ;) (expression_statement "pcStack_118 = (code *)piVar12;" (assignment_expression "pcStack_118 = (code *)piVar12" identifier = (cast_expression "(code *)piVar12" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_11c = pcVar4;" (assignment_expression "pcStack_11c = pcVar4" identifier = identifier) ;) (expression_statement "pcStack_120 = pcVar8;" (assignment_expression "pcStack_120 = pcVar8" identifier = identifier) ;) (expression_statement "piStack_124 = (int *)pcVar19;" (assignment_expression "piStack_124 = (int *)pcVar19" identifier = (cast_expression "(int *)pcVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_128 = (code *)piVar10;" (assignment_expression "pcStack_128 = (code *)piVar10" identifier = (cast_expression "(code *)piVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_12c = pcVar15;" (assignment_expression "pcStack_12c = pcVar15" identifier = identifier) ;) (expression_statement "piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);" (assignment_expression "piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" identifier = (pointer_expression "*(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" * (cast_expression "(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" ( (binary_expression "*(int *)(pcStack_138 + -0x7d6c) + 0x40e24" (pointer_expression "*(int *)(pcStack_138 + -0x7d6c)" * (cast_expression "(int *)(pcStack_138 + -0x7d6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_138 + -0x7d6c)" ( (binary_expression "pcStack_138 + -0x7d6c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar27 = piVar7[0x1a];" (assignment_expression "iVar27 = piVar7[0x1a]" identifier = (subscript_expression "piVar7[0x1a]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = piVar7[0x19] + 1;" (assignment_expression "uVar17 = piVar7[0x19] + 1" identifier = (binary_expression "piVar7[0x19] + 1" (subscript_expression "piVar7[0x19]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar16 = piVar7[0x1b];" (assignment_expression "iVar16 = piVar7[0x1b]" identifier = (subscript_expression "piVar7[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar30 = iVar27 + 1;" (assignment_expression "iVar30 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "iStack_134 = *piVar10;" (assignment_expression "iStack_134 = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "uVar9 = *(undefined4 *)(*piVar7 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(*piVar7 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(*piVar7 + 0xc)" * (cast_expression "(undefined4 *)(*piVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar7 + 0xc)" ( (binary_expression "*piVar7 + 0xc" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ;) (expression_statement "piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];" (assignment_expression "piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18]" (subscript_expression "piVar7[0x18]" identifier [ number_literal ]) = (binary_expression "(uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18]" (call_expression "(uint)(uVar17 < (uint)piVar7[0x19])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < (uint)piVar7[0x19])" ( (binary_expression "uVar17 < (uint)piVar7[0x19]" identifier < (cast_expression "(uint)piVar7[0x19]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar7[0x19]" identifier [ number_literal ]))) ))) + (subscript_expression "piVar7[0x18]" identifier [ number_literal ]))) ;) (expression_statement "piVar7[0x19] = uVar17;" (assignment_expression "piVar7[0x19] = uVar17" (subscript_expression "piVar7[0x19]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar7[0x1a] = iVar30;" (assignment_expression "piVar7[0x1a] = iVar30" (subscript_expression "piVar7[0x1a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piStack_110 = (int *)iVar6;" (assignment_expression "piStack_110 = (int *)iVar6" identifier = (cast_expression "(int *)iVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }" if (parenthesized_expression "(iVar30 < iVar16)" ( (binary_expression "iVar30 < iVar16" identifier < identifier) )) (compound_statement "{\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }" { (expression_statement "ppiVar13 = (int **)(iVar30 * 0x10);" (assignment_expression "ppiVar13 = (int **)(iVar30 * 0x10)" identifier = (cast_expression "(int **)(iVar30 * 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar30 * 0x10)" ( (binary_expression "iVar30 * 0x10" identifier * number_literal) )))) ;) (expression_statement "piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);" (assignment_expression "piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13)" identifier = (cast_expression "(int *)(piVar7[0x1c] + (int)ppiVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7[0x1c] + (int)ppiVar13)" ( (binary_expression "piVar7[0x1c] + (int)ppiVar13" (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) + (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar6 = *piVar12;" (assignment_expression "iVar6 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (if_statement "if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }" if (parenthesized_expression "(iVar6 < 1)" ( (binary_expression "iVar6 < 1" identifier < number_literal) )) (compound_statement "{\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }" { (if_statement "if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }" if (parenthesized_expression "((iVar6 == 0) && (piVar12[1] != 0))" ( (binary_expression "(iVar6 == 0) && (piVar12[1] != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(piVar12[1] != 0)" ( (binary_expression "piVar12[1] != 0" (subscript_expression "piVar12[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        piVar12 = (int *)0x0;\n      }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }" else (compound_statement "{\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }" { (expression_statement "iVar27 = iVar27 + 2;" (assignment_expression "iVar27 = iVar27 + 2" identifier = (binary_expression "iVar27 + 2" identifier + number_literal)) ;) (expression_statement "iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;" (assignment_expression "iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10" identifier = (binary_expression "(int)ppiVar13 + piVar7[0x1c] + -0x10" (binary_expression "(int)ppiVar13 + piVar7[0x1c]" (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) + number_literal)) ;) (do_statement "do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));" do (compound_statement "{\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        }" { (expression_statement "piVar7[0x1a] = iVar27;" (assignment_expression "piVar7[0x1a] = iVar27" (subscript_expression "piVar7[0x1a]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar27 == iVar16) goto LAB_00148750;" if (parenthesized_expression "(iVar27 == iVar16)" ( (binary_expression "iVar27 == iVar16" identifier == identifier) )) (goto_statement "goto LAB_00148750;" goto statement_identifier ;)) (expression_statement "ppiVar13 = *(int ***)(iVar6 + 0x20);" (assignment_expression "ppiVar13 = *(int ***)(iVar6 + 0x20)" identifier = (pointer_expression "*(int ***)(iVar6 + 0x20)" * (cast_expression "(int ***)(iVar6 + 0x20)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "piVar12 = (int *)(iVar6 + 0x24);" (assignment_expression "piVar12 = (int *)(iVar6 + 0x24)" identifier = (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) ;) (expression_statement "iVar6 = iVar6 + 0x10;" (assignment_expression "iVar6 = iVar6 + 0x10" identifier = (binary_expression "iVar6 + 0x10" identifier + number_literal)) ;) (if_statement "if (0 < (int)ppiVar13) goto LAB_001487fc;" if (parenthesized_expression "(0 < (int)ppiVar13)" ( (binary_expression "0 < (int)ppiVar13" number_literal < (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001487fc;" goto statement_identifier ;)) }) while (parenthesized_expression "((ppiVar13 != (int **)0x0) || (*piVar12 == 0))" ( (binary_expression "(ppiVar13 != (int **)0x0) || (*piVar12 == 0)" (parenthesized_expression "(ppiVar13 != (int **)0x0)" ( (binary_expression "ppiVar13 != (int **)0x0" identifier != (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(*piVar12 == 0)" ( (binary_expression "*piVar12 == 0" (pointer_expression "*piVar12" * identifier) == number_literal) ))) )) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_00148800;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }" else (compound_statement "{\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }" { (labeled_statement "LAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);" statement_identifier : (expression_statement "ppiVar13 = (int **)(piVar7 + 1);" (assignment_expression "ppiVar13 = (int **)(piVar7 + 1)" identifier = (cast_expression "(int **)(piVar7 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar7 + 1)" ( (binary_expression "piVar7 + 1" identifier + number_literal) )))) ;)) (expression_statement "piVar12 = (int *)FUN_00147c04(uVar9);" (assignment_expression "piVar12 = (int *)FUN_00147c04(uVar9)" identifier = (cast_expression "(int *)FUN_00147c04(uVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00147c04(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))))) ;) (if_statement "if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }" if (parenthesized_expression "(piVar12 != (int *)&DAT_00000064)" ( (binary_expression "piVar12 != (int *)&DAT_00000064" identifier != (cast_expression "(int *)&DAT_00000064" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000064" & identifier))) )) (compound_statement "{\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }" { (expression_statement "piVar7[0x16] = 1;" (assignment_expression "piVar7[0x16] = 1" (subscript_expression "piVar7[0x16]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00148800;" goto statement_identifier ;) })) (if_statement "if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }" if (parenthesized_expression "(piVar7[0x13] != 0)" ( (binary_expression "piVar7[0x13] != 0" (subscript_expression "piVar7[0x13]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }" { (expression_statement "iVar27 = piVar7[0xc];" (assignment_expression "iVar27 = piVar7[0xc]" identifier = (subscript_expression "piVar7[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar7[0x14];" (assignment_expression "iVar6 = piVar7[0x14]" identifier = (subscript_expression "piVar7[0x14]" identifier [ number_literal ])) ;) (expression_statement "ppiVar13 = (int **)piVar7[0xb];" (assignment_expression "ppiVar13 = (int **)piVar7[0xb]" identifier = (cast_expression "(int **)piVar7[0xb]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar7[0xb]" identifier [ number_literal ]))) ;) (expression_statement "iVar16 = iVar27;" (assignment_expression "iVar16 = iVar27" identifier = identifier) ;) (if_statement "if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }" if (parenthesized_expression "(iVar6 < iVar27)" ( (binary_expression "iVar6 < iVar27" identifier < identifier) )) (compound_statement "{\n        iVar16 = iVar6;\n      }" { (expression_statement "iVar16 = iVar6;" (assignment_expression "iVar16 = iVar6" identifier = identifier) ;) })) (expression_statement "iVar30 = (**(code **)(iVar31 + -0x7b14))();" (assignment_expression "iVar30 = (**(code **)(iVar31 + -0x7b14))()" identifier = (call_expression "(**(code **)(iVar31 + -0x7b14))()" (parenthesized_expression "(**(code **)(iVar31 + -0x7b14))" ( (pointer_expression "**(code **)(iVar31 + -0x7b14)" * (pointer_expression "*(code **)(iVar31 + -0x7b14)" * (cast_expression "(code **)(iVar31 + -0x7b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7b14)" ( (binary_expression "iVar31 + -0x7b14" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }" if (parenthesized_expression "((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27))))" ( (binary_expression "(iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))" (parenthesized_expression "(iVar30 < 0)" ( (binary_expression "iVar30 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar30 == 0 && (iVar6 < iVar27)))" ( (parenthesized_expression "(iVar30 == 0 && (iVar6 < iVar27))" ( (binary_expression "iVar30 == 0 && (iVar6 < iVar27)" (binary_expression "iVar30 == 0" identifier == number_literal) && (parenthesized_expression "(iVar6 < iVar27)" ( (binary_expression "iVar6 < iVar27" identifier < identifier) ))) )) ))) )) (compound_statement "{\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar7[0x16] = 1;" (assignment_expression "piVar7[0x16] = 1" (subscript_expression "piVar7[0x16]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00148800;" goto statement_identifier ;) })) })) (expression_statement "iVar16 = piVar7[0x1b];" (assignment_expression "iVar16 = piVar7[0x1b]" identifier = (subscript_expression "piVar7[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar7[0xe];" (assignment_expression "iVar6 = piVar7[0xe]" identifier = (subscript_expression "piVar7[0xe]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = piVar7[0xd];" (assignment_expression "iVar27 = piVar7[0xd]" identifier = (subscript_expression "piVar7[0xd]" identifier [ number_literal ])) ;) (if_statement "if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }" if (parenthesized_expression "(iVar16 < 2)" ( (binary_expression "iVar16 < 2" identifier < number_literal) )) (compound_statement "{\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }" { (expression_statement "iVar16 = 2;" (assignment_expression "iVar16 = 2" identifier = number_literal) ;) (expression_statement "ppiVar13 = (int **)(piVar7 + 0x1c);" (assignment_expression "ppiVar13 = (int **)(piVar7 + 0x1c)" identifier = (cast_expression "(int **)(piVar7 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar7 + 0x1c)" ( (binary_expression "piVar7 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);" (assignment_expression "iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b)" identifier = (call_expression "(*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b)" (parenthesized_expression "(*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))" ( (pointer_expression "*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" * (cast_expression "(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar31 + -0x7cf4) + 0x948)" ( (binary_expression "*(int *)(iVar31 + -0x7cf4) + 0x948" (pointer_expression "*(int *)(iVar31 + -0x7cf4)" * (cast_expression "(int *)(iVar31 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7cf4)" ( (binary_expression "iVar31 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar7 + 0x1b)" ( (binary_expression "piVar7 + 0x1b" identifier + number_literal) )))) ;) (if_statement "if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }" if (parenthesized_expression "(iVar30 != 0)" ( (binary_expression "iVar30 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }" { (labeled_statement "LAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;" statement_identifier : (expression_statement "piVar12 = (int *)&DAT_00000007;" (assignment_expression "piVar12 = (int *)&DAT_00000007" identifier = (cast_expression "(int *)&DAT_00000007" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;)) (goto_statement "goto LAB_00148800;" goto statement_identifier ;) })) (expression_statement "iVar16 = piVar7[0x1b];" (assignment_expression "iVar16 = piVar7[0x1b]" identifier = (subscript_expression "piVar7[0x1b]" identifier [ number_literal ])) ;) })) (expression_statement "iVar16 = iVar16 << 4;" (assignment_expression "iVar16 = iVar16 << 4" identifier = (binary_expression "iVar16 << 4" identifier << number_literal)) ;) (expression_statement "ppiVar13 = (int **)0x0;" (assignment_expression "ppiVar13 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "(**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);" (call_expression "(**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c])" (parenthesized_expression "(**(code **)(iVar31 + -0x7bc8))" ( (pointer_expression "**(code **)(iVar31 + -0x7bc8)" * (pointer_expression "*(code **)(iVar31 + -0x7bc8)" * (cast_expression "(code **)(iVar31 + -0x7bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7bc8)" ( (binary_expression "iVar31 + -0x7bc8" identifier + number_literal) ))))) )) (argument_list "(piVar7[0x1c])" ( (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) ))) ;) (if_statement "if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }" { (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);" (assignment_expression "pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8)" identifier = (cast_expression "(code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar31 + -0x7de0) + 0x3ec8)" ( (binary_expression "*(int *)(iVar31 + -0x7de0) + 0x3ec8" (pointer_expression "*(int *)(iVar31 + -0x7de0)" * (cast_expression "(int *)(iVar31 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7de0)" ( (binary_expression "iVar31 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar30 = (*pcVar19)(iVar27,&piStack_140);" (assignment_expression "iVar30 = (*pcVar19)(iVar27,&piStack_140)" identifier = (call_expression "(*pcVar19)(iVar27,&piStack_140)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27,&piStack_140)" ( identifier , (pointer_expression "&piStack_140" & identifier) )))) ;) (expression_statement "pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);" (assignment_expression "pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" identifier = (cast_expression "(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar31 + -0x7cf4) + 0x948)" ( (binary_expression "*(int *)(iVar31 + -0x7cf4) + 0x948" (pointer_expression "*(int *)(iVar31 + -0x7cf4)" * (cast_expression "(int *)(iVar31 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7cf4)" ( (binary_expression "iVar31 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];" statement_identifier : (expression_statement "piVar12 = (int *)piVar7[0x1c];" (assignment_expression "piVar12 = (int *)piVar7[0x1c]" identifier = (cast_expression "(int *)piVar7[0x1c]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]))) ;)) (expression_statement "ppiVar5 = (int **)piVar12[1];" (assignment_expression "ppiVar5 = (int **)piVar12[1]" identifier = (cast_expression "(int **)piVar12[1]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar12[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar16 = *piVar12;" (assignment_expression "iVar16 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" identifier = (cast_expression "(int **)((int)ppiVar5 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar5 + 1)" ( (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar12[1] = (int)ppiVar13;" (assignment_expression "piVar12[1] = (int)ppiVar13" (subscript_expression "piVar12[1]" identifier [ number_literal ]) = (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*piVar12" * identifier) = (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppiVar13 < ppiVar5)" ( (binary_expression "ppiVar13 < ppiVar5" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }" if (parenthesized_expression "(iVar30 < iVar6)" ( (binary_expression "iVar30 < iVar6" identifier < identifier) )) (compound_statement "{\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }" { (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" identifier = (pointer_expression "&piStack_140" & identifier)) ;) (expression_statement "iVar21 = (*pcVar19)(iVar27 + iVar30);" (assignment_expression "iVar21 = (*pcVar19)(iVar27 + iVar30)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar30)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar30)" ( (binary_expression "iVar27 + iVar30" identifier + identifier) )))) ;) (expression_statement "iVar21 = iVar21 + iVar30;" (assignment_expression "iVar21 = iVar21 + iVar30" identifier = (binary_expression "iVar21 + iVar30" identifier + identifier)) ;) (if_statement "if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }" if (parenthesized_expression "((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c))))" ( (binary_expression "(0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))" (parenthesized_expression "(0 < (int)piStack_140)" ( (binary_expression "0 < (int)piStack_140" number_literal < (cast_expression "(int)piStack_140" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((piStack_140 == (int *)0x0 && (1 < uStack_13c)))" ( (parenthesized_expression "(piStack_140 == (int *)0x0 && (1 < uStack_13c))" ( (binary_expression "piStack_140 == (int *)0x0 && (1 < uStack_13c)" (binary_expression "piStack_140 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(1 < uStack_13c)" ( (binary_expression "1 < uStack_13c" number_literal < identifier) ))) )) ))) )) (compound_statement "{\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }" { (expression_statement "iVar16 = piVar7[0x1c];" (assignment_expression "iVar16 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = *(uint *)(iVar16 + 0x14);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar16 + 0x14)" * (cast_expression "(uint *)(iVar16 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar16 + 0x14) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0x14) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0x14)" * (cast_expression "(uint *)(iVar16 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);" (assignment_expression "*(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10)" (pointer_expression "*(uint *)(iVar16 + 0x10)" * (cast_expression "(uint *)(iVar16 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) )))) = (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar17)" ( (binary_expression "uVar14 < uVar17" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar16 + 0x10)" * (cast_expression "(int *)(iVar16 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "iVar16 = piVar7[0x1c];" (assignment_expression "iVar16 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = *(uint *)(iVar16 + 0x1c);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar16 + 0x1c)" * (cast_expression "(uint *)(iVar16 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x1c)" ( (binary_expression "iVar16 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar16 + 0x1c) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0x1c) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0x1c)" * (cast_expression "(uint *)(iVar16 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x1c)" ( (binary_expression "iVar16 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);" (assignment_expression "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (pointer_expression "*(uint *)(iVar16 + 0x18)" * (cast_expression "(uint *)(iVar16 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x18)" ( (binary_expression "iVar16 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar17)" ( (binary_expression "uVar14 < uVar17" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar16 + 0x18)" * (cast_expression "(int *)(iVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x18)" ( (binary_expression "iVar16 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar30 = piVar7[0x1c];" (assignment_expression "iVar30 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar5 = *(int ***)(iVar30 + 0xc);" (assignment_expression "ppiVar5 = *(int ***)(iVar30 + 0xc)" identifier = (pointer_expression "*(int ***)(iVar30 + 0xc)" * (cast_expression "(int ***)(iVar30 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar30 + 0xc)" ( (binary_expression "iVar30 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar30 + 8);" (assignment_expression "iVar16 = *(int *)(iVar30 + 8)" identifier = (pointer_expression "*(int *)(iVar30 + 8)" * (cast_expression "(int *)(iVar30 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) ))))) ;) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" identifier = (cast_expression "(int **)((int)ppiVar5 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar5 + 1)" ( (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int ***)(iVar30 + 0xc) = ppiVar13;" (assignment_expression "*(int ***)(iVar30 + 0xc) = ppiVar13" (pointer_expression "*(int ***)(iVar30 + 0xc)" * (cast_expression "(int ***)(iVar30 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar30 + 0xc)" ( (binary_expression "iVar30 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*(uint *)(iVar30 + 8)" * (cast_expression "(uint *)(iVar30 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppiVar13 < ppiVar5)" ( (binary_expression "ppiVar13 < ppiVar5" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }" if (parenthesized_expression "(iVar21 < iVar6)" ( (binary_expression "iVar21 < iVar6" identifier < identifier) )) (compound_statement "{\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }" { (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" identifier = (pointer_expression "&piStack_140" & identifier)) ;) (expression_statement "iVar18 = (*pcVar19)(iVar27 + iVar21);" (assignment_expression "iVar18 = (*pcVar19)(iVar27 + iVar21)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) )))) ;) (expression_statement "iVar30 = 0x10;" (assignment_expression "iVar30 = 0x10" identifier = number_literal) ;) (expression_statement "iVar21 = iVar21 + iVar18;" (assignment_expression "iVar21 = iVar21 + iVar18" identifier = (binary_expression "iVar21 + iVar18" identifier + identifier)) ;) (goto_statement "goto LAB_00148a68;" goto statement_identifier ;) })) (goto_statement "goto LAB_001487f8;" goto statement_identifier ;) })) (if_statement "if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }" if (parenthesized_expression "(piStack_140 != (int *)0x0 || uStack_13c != 0)" ( (binary_expression "piStack_140 != (int *)0x0 || uStack_13c != 0" (binary_expression "piStack_140 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "uStack_13c != 0" identifier != number_literal)) )) (compound_statement "{\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }" { (if_statement "if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }" if (parenthesized_expression "((piStack_140 == (int *)0x0) && (uStack_13c == 1))" ( (binary_expression "(piStack_140 == (int *)0x0) && (uStack_13c == 1)" (parenthesized_expression "(piStack_140 == (int *)0x0)" ( (binary_expression "piStack_140 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uStack_13c == 1)" ( (binary_expression "uStack_13c == 1" identifier == number_literal) ))) )) (compound_statement "{\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }" { (if_statement "if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }" if (parenthesized_expression "(iVar21 < iVar6)" ( (binary_expression "iVar21 < iVar6" identifier < identifier) )) (compound_statement "{\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }" { (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21,&piStack_140)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) , (pointer_expression "&piStack_140" & identifier) )))) ;) (expression_statement "iVar21 = iVar21 + iVar16;" (assignment_expression "iVar21 = iVar21 + iVar16" identifier = (binary_expression "iVar21 + iVar16" identifier + identifier)) ;) (do_statement "do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );" do (compound_statement "{\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              }" { (expression_statement "iVar16 = uStack_13c + 2;" (assignment_expression "iVar16 = uStack_13c + 2" identifier = (binary_expression "uStack_13c + 2" identifier + number_literal)) ;) (expression_statement "uVar17 = uStack_13c;" (assignment_expression "uVar17 = uStack_13c" identifier = identifier) ;) (if_statement "if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }" if (parenthesized_expression "(piVar7[0x1b] < iVar16)" ( (binary_expression "piVar7[0x1b] < iVar16" (subscript_expression "piVar7[0x1b]" identifier [ number_literal ]) < identifier) )) (compound_statement "{\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }" { (expression_statement "ppiVar13 = (int **)(piVar7 + 0x1c);" (assignment_expression "ppiVar13 = (int **)(piVar7 + 0x1c)" identifier = (cast_expression "(int **)(piVar7 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar7 + 0x1c)" ( (binary_expression "piVar7 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "iVar30 = (*pcVar15)(piVar7 + 0x1b);" (assignment_expression "iVar30 = (*pcVar15)(piVar7 + 0x1b)" identifier = (call_expression "(*pcVar15)(piVar7 + 0x1b)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(piVar7 + 0x1b)" ( (binary_expression "piVar7 + 0x1b" identifier + number_literal) )))) ;) (if_statement "if (iVar30 != 0) goto LAB_00148b9c;" if (parenthesized_expression "(iVar30 != 0)" ( (binary_expression "iVar30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00148b9c;" goto statement_identifier ;)) })) (expression_statement "iVar30 = (uVar17 + 1) * 0x10;" (assignment_expression "iVar30 = (uVar17 + 1) * 0x10" identifier = (binary_expression "(uVar17 + 1) * 0x10" (parenthesized_expression "(uVar17 + 1)" ( (binary_expression "uVar17 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "piVar12 = (int *)(piVar7[0x1c] + iVar30);" (assignment_expression "piVar12 = (int *)(piVar7[0x1c] + iVar30)" identifier = (cast_expression "(int *)(piVar7[0x1c] + iVar30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7[0x1c] + iVar30)" ( (binary_expression "piVar7[0x1c] + iVar30" (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "ppiVar5 = (int **)piVar12[1];" (assignment_expression "ppiVar5 = (int **)piVar12[1]" identifier = (cast_expression "(int **)piVar12[1]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar12[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar16 = *piVar12;" (assignment_expression "iVar16 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" identifier = (cast_expression "(int **)((int)ppiVar5 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar5 + 1)" ( (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar12[1] = (int)ppiVar13;" (assignment_expression "piVar12[1] = (int)ppiVar13" (subscript_expression "piVar12[1]" identifier [ number_literal ]) = (cast_expression "(int)ppiVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*piVar12" * identifier) = (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppiVar13 < ppiVar5)" ( (binary_expression "ppiVar13 < ppiVar5" identifier < identifier) ))) + identifier)) ;) (while_statement "while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }" { (if_statement "if (iVar6 <= iVar21) goto LAB_001487f8;" if (parenthesized_expression "(iVar6 <= iVar21)" ( (binary_expression "iVar6 <= iVar21" identifier <= identifier) )) (goto_statement "goto LAB_001487f8;" goto statement_identifier ;)) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" identifier = (pointer_expression "&piStack_140" & identifier)) ;) (expression_statement "iVar18 = (*pcVar19)(iVar27 + iVar21);" (assignment_expression "iVar18 = (*pcVar19)(iVar27 + iVar21)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) )))) ;) (expression_statement "iVar21 = iVar21 + iVar18;" (assignment_expression "iVar21 = iVar21 + iVar18" identifier = (binary_expression "iVar21 + iVar18" identifier + identifier)) ;) (labeled_statement "LAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }" statement_identifier : (if_statement "if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }" if (parenthesized_expression "(piStack_140 == (int *)0x0 && uStack_13c == 0)" ( (binary_expression "piStack_140 == (int *)0x0 && uStack_13c == 0" (binary_expression "piStack_140 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "uStack_13c == 0" identifier == number_literal)) )) (compound_statement "{\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }" { (if_statement "if (iVar6 <= iVar21) goto LAB_001487f8;" if (parenthesized_expression "(iVar6 <= iVar21)" ( (binary_expression "iVar6 <= iVar21" identifier <= identifier) )) (goto_statement "goto LAB_001487f8;" goto statement_identifier ;)) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21,&piStack_140)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) , (pointer_expression "&piStack_140" & identifier) )))) ;) (expression_statement "iVar30 = iVar30 + iVar21;" (assignment_expression "iVar30 = iVar30 + iVar21" identifier = (binary_expression "iVar30 + iVar21" identifier + identifier)) ;) (goto_statement "goto LAB_001488f8;" goto statement_identifier ;) }))) (if_statement "if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;" if (parenthesized_expression "((piStack_140 == (int *)0x0) && (uStack_13c == 1))" ( (binary_expression "(piStack_140 == (int *)0x0) && (uStack_13c == 1)" (parenthesized_expression "(piStack_140 == (int *)0x0)" ( (binary_expression "piStack_140 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uStack_13c == 1)" ( (binary_expression "uStack_13c == 1" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar16 = piVar7[0x1c] + iVar30;" (assignment_expression "iVar16 = piVar7[0x1c] + iVar30" identifier = (binary_expression "piVar7[0x1c] + iVar30" (subscript_expression "piVar7[0x1c]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "uVar17 = *(uint *)(iVar16 + 0xc);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar16 + 0xc)" * (cast_expression "(uint *)(iVar16 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar16 + 0xc) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0xc) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0xc)" * (cast_expression "(uint *)(iVar16 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);" (assignment_expression "*(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8)" (pointer_expression "*(uint *)(iVar16 + 8)" * (cast_expression "(uint *)(iVar16 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar17)" ( (binary_expression "uVar14 < uVar17" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar16 + 8)" * (cast_expression "(int *)(iVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))))) ;) (expression_statement "iVar18 = piVar7[0x1c];" (assignment_expression "iVar18 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar5 = *(int ***)(iVar18 + 0xc);" (assignment_expression "ppiVar5 = *(int ***)(iVar18 + 0xc)" identifier = (pointer_expression "*(int ***)(iVar18 + 0xc)" * (cast_expression "(int ***)(iVar18 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar18 + 0xc)" ( (binary_expression "iVar18 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar18 + 8);" (assignment_expression "iVar16 = *(int *)(iVar18 + 8)" identifier = (pointer_expression "*(int *)(iVar18 + 8)" * (cast_expression "(int *)(iVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 8)" ( (binary_expression "iVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" identifier = (cast_expression "(int **)((int)ppiVar5 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar5 + 1)" ( (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int ***)(iVar18 + 0xc) = ppiVar13;" (assignment_expression "*(int ***)(iVar18 + 0xc) = ppiVar13" (pointer_expression "*(int ***)(iVar18 + 0xc)" * (cast_expression "(int ***)(iVar18 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar18 + 0xc)" ( (binary_expression "iVar18 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*(uint *)(iVar18 + 8)" * (cast_expression "(uint *)(iVar18 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 8)" ( (binary_expression "iVar18 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppiVar13 < ppiVar5)" ( (binary_expression "ppiVar13 < ppiVar5" identifier < identifier) ))) + identifier)) ;) })) (if_statement "if (iVar6 <= iVar21) break;" if (parenthesized_expression "(iVar6 <= iVar21)" ( (binary_expression "iVar6 <= iVar21" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21,&piStack_140)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) , (pointer_expression "&piStack_140" & identifier) )))) ;) (expression_statement "iVar21 = iVar16 + iVar21;" (assignment_expression "iVar21 = iVar16 + iVar21" identifier = (binary_expression "iVar16 + iVar21" identifier + identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }" else (compound_statement "{\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }" { (expression_statement "iVar16 = piVar7[0x1c];" (assignment_expression "iVar16 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = *(uint *)(iVar16 + 0x1c);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar16 + 0x1c)" * (cast_expression "(uint *)(iVar16 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x1c)" ( (binary_expression "iVar16 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar16 + 0x1c) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0x1c) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0x1c)" * (cast_expression "(uint *)(iVar16 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x1c)" ( (binary_expression "iVar16 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);" (assignment_expression "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (pointer_expression "*(uint *)(iVar16 + 0x18)" * (cast_expression "(uint *)(iVar16 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x18)" ( (binary_expression "iVar16 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar17)" ( (binary_expression "uVar14 < uVar17" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar16 + 0x18)" * (cast_expression "(int *)(iVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x18)" ( (binary_expression "iVar16 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar30 = piVar7[0x1c];" (assignment_expression "iVar30 = piVar7[0x1c]" identifier = (subscript_expression "piVar7[0x1c]" identifier [ number_literal ])) ;) (expression_statement "ppiVar5 = *(int ***)(iVar30 + 0xc);" (assignment_expression "ppiVar5 = *(int ***)(iVar30 + 0xc)" identifier = (pointer_expression "*(int ***)(iVar30 + 0xc)" * (cast_expression "(int ***)(iVar30 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar30 + 0xc)" ( (binary_expression "iVar30 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar30 + 8);" (assignment_expression "iVar16 = *(int *)(iVar30 + 8)" identifier = (pointer_expression "*(int *)(iVar30 + 8)" * (cast_expression "(int *)(iVar30 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) ))))) ;) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" identifier = (cast_expression "(int **)((int)ppiVar5 + 1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar5 + 1)" ( (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int ***)(iVar30 + 0xc) = ppiVar13;" (assignment_expression "*(int ***)(iVar30 + 0xc) = ppiVar13" (pointer_expression "*(int ***)(iVar30 + 0xc)" * (cast_expression "(int ***)(iVar30 + 0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar30 + 0xc)" ( (binary_expression "iVar30 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*(uint *)(iVar30 + 8)" * (cast_expression "(uint *)(iVar30 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppiVar13 < ppiVar5)" ( (binary_expression "ppiVar13 < ppiVar5" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }" if (parenthesized_expression "(iVar21 < iVar6)" ( (binary_expression "iVar21 < iVar6" identifier < identifier) )) (compound_statement "{\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }" { (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" identifier = (pointer_expression "&piStack_140" & identifier)) ;) (expression_statement "iVar18 = (*pcVar19)(iVar27 + iVar21);" (assignment_expression "iVar18 = (*pcVar19)(iVar27 + iVar21)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) )))) ;) (expression_statement "iVar30 = 0x10;" (assignment_expression "iVar30 = 0x10" identifier = number_literal) ;) (expression_statement "iVar21 = iVar21 + iVar18;" (assignment_expression "iVar21 = iVar21 + iVar18" identifier = (binary_expression "iVar21 + iVar18" identifier + identifier)) ;) (goto_statement "goto LAB_00148a68;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_001487f8;" goto statement_identifier ;) })) (if_statement "if (iVar6 <= iVar21) goto LAB_001487f8;" if (parenthesized_expression "(iVar6 <= iVar21)" ( (binary_expression "iVar6 <= iVar21" identifier <= identifier) )) (goto_statement "goto LAB_001487f8;" goto statement_identifier ;)) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" identifier = (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar27 + iVar21,&piStack_140)" ( (binary_expression "iVar27 + iVar21" identifier + identifier) , (pointer_expression "&piStack_140" & identifier) )))) ;) (expression_statement "iVar30 = iVar21 + iVar30;" (assignment_expression "iVar30 = iVar21 + iVar30" identifier = (binary_expression "iVar21 + iVar30" identifier + identifier)) ;) (goto_statement "goto LAB_001488f8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_001487f8:\n    piVar7[0x1a] = 0;" statement_identifier : (expression_statement "piVar7[0x1a] = 0;" (assignment_expression "piVar7[0x1a] = 0" (subscript_expression "piVar7[0x1a]" identifier [ number_literal ]) = number_literal) ;)) }))) (labeled_statement "LAB_001487fc:\n  piVar12 = (int *)0x0;" statement_identifier : (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }" statement_identifier : (if_statement "if (iStack_134 == *piVar10) {\n    return piVar12;\n  }" if (parenthesized_expression "(iStack_134 == *piVar10)" ( (binary_expression "iStack_134 == *piVar10" identifier == (pointer_expression "*piVar10" * identifier)) )) (compound_statement "{\n    return piVar12;\n  }" { (return_statement "return piVar12;" return identifier ;) }))) (expression_statement "pcVar15 = *(code **)(iVar31 + -0x7b28);" (assignment_expression "pcVar15 = *(code **)(iVar31 + -0x7b28)" identifier = (pointer_expression "*(code **)(iVar31 + -0x7b28)" * (cast_expression "(code **)(iVar31 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7b28)" ( (binary_expression "iVar31 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iStack_134;" (assignment_expression "iVar6 = iStack_134" identifier = identifier) ;) (expression_statement "(*pcVar15)();" (call_expression "(*pcVar15)()" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar10 = ppiVar13[1];" (assignment_expression "piVar10 = ppiVar13[1]" identifier = (subscript_expression "ppiVar13[1]" identifier [ number_literal ])) ;) (if_statement "if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }" if (parenthesized_expression "((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10))" ( (binary_expression "(ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)" (parenthesized_expression "(ppiVar13[7] == (int *)0x0)" ( (binary_expression "ppiVar13[7] == (int *)0x0" (subscript_expression "ppiVar13[7]" identifier [ number_literal ]) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)" ( (comma_expression "iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10" (assignment_expression "iVar31 = *(int *)(pcVar15 + 0x47f90)" identifier = (pointer_expression "*(int *)(pcVar15 + 0x47f90)" * (cast_expression "(int *)(pcVar15 + 0x47f90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x47f90)" ( (binary_expression "pcVar15 + 0x47f90" identifier + number_literal) ))))) , (binary_expression "0 < (int)piVar10" number_literal < (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }" { (expression_statement "iVar30 = 0;" (assignment_expression "iVar30 = 0" identifier = number_literal) ;) (expression_statement "iVar27 = *(int *)(pcVar15 + 0x47f68);" (assignment_expression "iVar27 = *(int *)(pcVar15 + 0x47f68)" identifier = (pointer_expression "*(int *)(pcVar15 + 0x47f68)" * (cast_expression "(int *)(pcVar15 + 0x47f68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x47f68)" ( (binary_expression "pcVar15 + 0x47f68" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));" do (compound_statement "{\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "iVar18 = (*ppiVar13)[iVar30];" (assignment_expression "iVar18 = (*ppiVar13)[iVar30]" identifier = (subscript_expression "(*ppiVar13)[iVar30]" (parenthesized_expression "(*ppiVar13)" ( (pointer_expression "*ppiVar13" * identifier) )) [ identifier ])) ;) (do_statement "do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);" do (compound_statement "{\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      }" { (expression_statement "piVar7 = (int *)FUN_001477fc(iVar6,iVar18);" (assignment_expression "piVar7 = (int *)FUN_001477fc(iVar6,iVar18)" identifier = (cast_expression "(int *)FUN_001477fc(iVar6,iVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001477fc(iVar6,iVar18)" identifier (argument_list "(iVar6,iVar18)" ( identifier , identifier ))))) ;) (if_statement "if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }" if (parenthesized_expression "(piVar7 != (int *)0x0)" ( (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return piVar7;\n        }" { (return_statement "return piVar7;" return identifier ;) })) (if_statement "if (iVar16 == 0) break;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);" (assignment_expression "iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29)" identifier = (call_expression "(*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29)" (parenthesized_expression "(*(code *)(iVar27 + -0x441c))" ( (pointer_expression "*(code *)(iVar27 + -0x441c)" * (cast_expression "(code *)(iVar27 + -0x441c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + -0x441c)" ( (binary_expression "iVar27 + -0x441c" identifier + number_literal) )))) )) (argument_list "(iVar18,iVar16,iVar29)" ( identifier , identifier , identifier )))) ;) }) while (parenthesized_expression "(iVar21 < 0)" ( (binary_expression "iVar21 < 0" identifier < number_literal) )) ;) (if_statement "if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }" if (parenthesized_expression "((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0))" ( (binary_expression "(*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)" (parenthesized_expression "(*(char *)(iVar18 + 4) != '\0')" ( (binary_expression "*(char *)(iVar18 + 4) != '\0'" (pointer_expression "*(char *)(iVar18 + 4)" * (cast_expression "(char *)(iVar18 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 4)" ( (binary_expression "iVar18 + 4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }" { (expression_statement "(*(code *)(iVar31 + -0x4e9c))(iVar18);" (call_expression "(*(code *)(iVar31 + -0x4e9c))(iVar18)" (parenthesized_expression "(*(code *)(iVar31 + -0x4e9c))" ( (pointer_expression "*(code *)(iVar31 + -0x4e9c)" * (cast_expression "(code *)(iVar31 + -0x4e9c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x4e9c)" ( (binary_expression "iVar31 + -0x4e9c" identifier + number_literal) )))) )) (argument_list "(iVar18)" ( identifier ))) ;) })) (expression_statement "iVar30 = iVar30 + 1;" (assignment_expression "iVar30 = iVar30 + 1" identifier = (binary_expression "iVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]))" ( (binary_expression "(ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1])" (parenthesized_expression "(ppiVar13[7] == (int *)0x0)" ( (binary_expression "ppiVar13[7] == (int *)0x0" (subscript_expression "ppiVar13[7]" identifier [ number_literal ]) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar30 < (int)ppiVar13[1])" ( (binary_expression "iVar30 < (int)ppiVar13[1]" identifier < (cast_expression "(int)ppiVar13[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppiVar13[1]" identifier [ number_literal ]))) ))) )) ;) })) (expression_statement "(*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);" (call_expression "(*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))" ( (pointer_expression "*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828)" * (cast_expression "(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar15 + 0x47f00) + 0x5828)" ( (binary_expression "*(int *)(pcVar15 + 0x47f00) + 0x5828" (pointer_expression "*(int *)(pcVar15 + 0x47f00)" * (cast_expression "(int *)(pcVar15 + 0x47f00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x47f00)" ( (binary_expression "pcVar15 + 0x47f00" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0)" ( (pointer_expression "*ppiVar13" * identifier) , identifier , identifier , (binary_expression "*(int *)(pcVar15 + 0x47f68) + -0x44f0" (pointer_expression "*(int *)(pcVar15 + 0x47f68)" * (cast_expression "(int *)(pcVar15 + 0x47f68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x47f68)" ( (binary_expression "pcVar15 + 0x47f68" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , 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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )) * LIT) ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_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) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , (pointer_expression & IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < 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 = 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 ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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) ))))) ;) (expression_statement (assignment_expression IDENT = 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 ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (pointer_expression * IDENT) , LIT )))) ;)) (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (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 * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (subscript_expression IDENT [ IDENT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (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 ( (subscript_expression IDENT [ IDENT ]) ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_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 *))) ) (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (subscript_expression IDENT [ LIT ])) + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 *)) ) (pointer_expression & IDENT))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 ( (subscript_expression IDENT [ LIT ]) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (binary_expression IDENT != LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) , (pointer_expression & IDENT) )))) ;) (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 IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) })) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ IDENT ])) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (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 (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_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 ( (pointer_expression * IDENT) , IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })))
(function_definition "int * FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)\n\n{\n  code cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  int **ppiVar5;\n  int iVar6;\n  int *piVar7;\n  code *pcVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int extraout_v1;\n  int *piVar12;\n  int **ppiVar13;\n  uint uVar14;\n  code *pcVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  code *pcVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  int *piVar23;\n  undefined4 *puVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  int *unaff_s7;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int iVar30;\n  int iVar31;\n  undefined4 uVar32;\n  int *piStack_140;\n  uint uStack_13c;\n  code *pcStack_138;\n  int iStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_128;\n  int *piStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code *pcStack_118;\n  int *piStack_114;\n  int *piStack_110;\n  undefined4 uStack_10c;\n  int **ppiStack_f8;\n  undefined4 uStack_f4;\n  code *pcStack_f0;\n  int *piStack_e8;\n  int *piStack_e4;\n  int *piStack_dc;\n  code *pcStack_d8;\n  undefined *puStack_d4;\n  undefined4 *puStack_d0;\n  undefined4 *puStack_cc;\n  code *pcStack_c8;\n  undefined4 uStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  code *pcStack_98;\n  code *pcStack_94;\n  undefined *puStack_90;\n  undefined4 *puStack_8c;\n  undefined4 *puStack_88;\n  code *pcStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int *piStack_78;\n  code *pcStack_74;\n  code *pcStack_6c;\n  undefined8 local_60;\n  undefined4 local_50;\n  undefined4 local_3c;\n  int *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00190e24;\n  puVar25 = &local_30;\n  puVar24 = &local_34;\n  pcVar15 = (code *)&DAT_00000007;\n  local_38 = (int *)0x0;\n  pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_3c = param_2;\n  local_34 = param_2;\n  piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);\n  puVar28 = PTR_sqlite3_step_00190990;\n  piVar10 = unaff_s7;\n  if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }\nLAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }\n  pcVar8 = FUN_0014a840;\n  iVar6 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar28 + 0x4e0e0;\n  piVar7 = &iStack_a0;\n  puStack_90 = puVar22;\n  piVar26 = *(int **)(puVar28 + 0x465e4);\n  iStack_a0 = 0;\n  piStack_9c = (int *)*piVar26;\n  pcStack_98 = pcVar19;\n  pcStack_94 = param_1;\n  puStack_8c = puVar24;\n  puStack_88 = puVar25;\n  pcStack_84 = param_4;\n  piStack_80 = param_3;\n  piStack_7c = piVar10;\n  pcStack_74 = pcVar8;\n  pcStack_6c = pcVar15;\n  piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();\n  if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }\n  if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }\n  pcVar8 = *(code **)(puStack_b0 + -0x7b28);\n  uVar9 = 0x14aa90;\n  piVar12 = piStack_9c;\n  (*pcVar8)();\n  ppiStack_f8 = &piStack_e8;\n  piStack_dc = piVar20;\n  pcStack_f0 = pcVar8 + 0x4de90;\n  puStack_cc = puVar25;\n  pcVar19 = (code *)(piVar12 + 5);\n  puStack_d4 = puVar22;\n  uStack_c4 = uVar9;\n  pcStack_c8 = param_4;\n  puStack_d0 = puVar24;\n  pcStack_d8 = param_1;\n  piVar20 = *(int **)(pcVar8 + 0x46394);\n  iVar16 = *piVar7;\n  piStack_e4 = (int *)*piVar20;\n  piVar7 = piVar12;\n  pcVar15 = pcVar19;\n  iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();\n  if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }\nLAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }\n  pcVar8 = *(code **)(pcStack_f0 + -0x7b28);\n  uVar32 = 0x14ace0;\n  (*pcVar8)();\n  ppiVar13 = ppiStack_f8;\n  pcStack_138 = pcVar8 + 0x4dc40;\n  piVar23 = piVar7 + 1;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  pcStack_12c = (code *)piVar20;\n  pcStack_128 = param_1;\n  piStack_124 = piVar12;\n  pcStack_120 = (code *)puVar24;\n  pcStack_11c = pcVar19;\n  pcStack_118 = param_4;\n  piStack_114 = piVar26;\n  piStack_110 = piVar10;\n  uStack_10c = uVar32;\n  if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }\n  if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }\n  piVar7[0x15] = iVar29;\n  piStack_140 = piVar23;\n  piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);\n  if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }\n  iVar29 = piVar7[0x10];\n  piVar7[4] = (int)(piVar7 + 0xf);\n  piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);\n  piVar12 = piStack_114;\n  pcVar4 = pcStack_118;\n  pcVar8 = pcStack_11c;\n  pcVar19 = pcStack_120;\n  piVar10 = piStack_124;\n  pcVar15 = pcStack_128;\n  if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }\n  iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;\n  piStack_130 = (int *)pcStack_12c;\n  piStack_114 = piStack_110;\n  pcStack_118 = (code *)piVar12;\n  pcStack_11c = pcVar4;\n  pcStack_120 = pcVar8;\n  piStack_124 = (int *)pcVar19;\n  pcStack_128 = (code *)piVar10;\n  pcStack_12c = pcVar15;\n  piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);\n  iVar27 = piVar7[0x1a];\n  uVar17 = piVar7[0x19] + 1;\n  iVar16 = piVar7[0x1b];\n  iVar30 = iVar27 + 1;\n  iStack_134 = *piVar10;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];\n  piVar7[0x19] = uVar17;\n  piVar7[0x1a] = iVar30;\n  piStack_110 = (int *)iVar6;\n  if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }\nLAB_001487fc:\n  piVar12 = (int *)0x0;\nLAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }\n  pcVar15 = *(code **)(iVar31 + -0x7b28);\n  iVar6 = iStack_134;\n  (*pcVar15)();\n  piVar10 = ppiVar13[1];\n  if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }\n  (*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);\n  return (int *)0x0;\n}" (primitive_type "int") (pointer_declarator "* FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)" (* "*") (function_declarator "FUN_0014a454(code *param_1,undefined4 param_2,int *param_3,code *param_4)" (identifier "FUN_0014a454") (parameter_list "(code *param_1,undefined4 param_2,int *param_3,code *param_4)" (( "(") (parameter_declaration "code *param_1" (type_identifier "code") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "code *param_4" (type_identifier "code") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")")))) (compound_statement "{\n  code cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  int **ppiVar5;\n  int iVar6;\n  int *piVar7;\n  code *pcVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int extraout_v1;\n  int *piVar12;\n  int **ppiVar13;\n  uint uVar14;\n  code *pcVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  code *pcVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  int *piVar23;\n  undefined4 *puVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  int *unaff_s7;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int iVar30;\n  int iVar31;\n  undefined4 uVar32;\n  int *piStack_140;\n  uint uStack_13c;\n  code *pcStack_138;\n  int iStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_128;\n  int *piStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code *pcStack_118;\n  int *piStack_114;\n  int *piStack_110;\n  undefined4 uStack_10c;\n  int **ppiStack_f8;\n  undefined4 uStack_f4;\n  code *pcStack_f0;\n  int *piStack_e8;\n  int *piStack_e4;\n  int *piStack_dc;\n  code *pcStack_d8;\n  undefined *puStack_d4;\n  undefined4 *puStack_d0;\n  undefined4 *puStack_cc;\n  code *pcStack_c8;\n  undefined4 uStack_c4;\n  undefined *puStack_b0;\n  code *pcStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  code *pcStack_98;\n  code *pcStack_94;\n  undefined *puStack_90;\n  undefined4 *puStack_8c;\n  undefined4 *puStack_88;\n  code *pcStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int *piStack_78;\n  code *pcStack_74;\n  code *pcStack_6c;\n  undefined8 local_60;\n  undefined4 local_50;\n  undefined4 local_3c;\n  int *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00190e24;\n  puVar25 = &local_30;\n  puVar24 = &local_34;\n  pcVar15 = (code *)&DAT_00000007;\n  local_38 = (int *)0x0;\n  pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_3c = param_2;\n  local_34 = param_2;\n  piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);\n  puVar28 = PTR_sqlite3_step_00190990;\n  piVar10 = unaff_s7;\n  if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }\nLAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }\n  pcVar8 = FUN_0014a840;\n  iVar6 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar28 + 0x4e0e0;\n  piVar7 = &iStack_a0;\n  puStack_90 = puVar22;\n  piVar26 = *(int **)(puVar28 + 0x465e4);\n  iStack_a0 = 0;\n  piStack_9c = (int *)*piVar26;\n  pcStack_98 = pcVar19;\n  pcStack_94 = param_1;\n  puStack_8c = puVar24;\n  puStack_88 = puVar25;\n  pcStack_84 = param_4;\n  piStack_80 = param_3;\n  piStack_7c = piVar10;\n  pcStack_74 = pcVar8;\n  pcStack_6c = pcVar15;\n  piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();\n  if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }\n  if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }\n  pcVar8 = *(code **)(puStack_b0 + -0x7b28);\n  uVar9 = 0x14aa90;\n  piVar12 = piStack_9c;\n  (*pcVar8)();\n  ppiStack_f8 = &piStack_e8;\n  piStack_dc = piVar20;\n  pcStack_f0 = pcVar8 + 0x4de90;\n  puStack_cc = puVar25;\n  pcVar19 = (code *)(piVar12 + 5);\n  puStack_d4 = puVar22;\n  uStack_c4 = uVar9;\n  pcStack_c8 = param_4;\n  puStack_d0 = puVar24;\n  pcStack_d8 = param_1;\n  piVar20 = *(int **)(pcVar8 + 0x46394);\n  iVar16 = *piVar7;\n  piStack_e4 = (int *)*piVar20;\n  piVar7 = piVar12;\n  pcVar15 = pcVar19;\n  iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();\n  if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }\nLAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }\n  pcVar8 = *(code **)(pcStack_f0 + -0x7b28);\n  uVar32 = 0x14ace0;\n  (*pcVar8)();\n  ppiVar13 = ppiStack_f8;\n  pcStack_138 = pcVar8 + 0x4dc40;\n  piVar23 = piVar7 + 1;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  pcStack_12c = (code *)piVar20;\n  pcStack_128 = param_1;\n  piStack_124 = piVar12;\n  pcStack_120 = (code *)puVar24;\n  pcStack_11c = pcVar19;\n  pcStack_118 = param_4;\n  piStack_114 = piVar26;\n  piStack_110 = piVar10;\n  uStack_10c = uVar32;\n  if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }\n  if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }\n  piVar7[0x15] = iVar29;\n  piStack_140 = piVar23;\n  piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);\n  if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }\n  iVar29 = piVar7[0x10];\n  piVar7[4] = (int)(piVar7 + 0xf);\n  piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);\n  piVar12 = piStack_114;\n  pcVar4 = pcStack_118;\n  pcVar8 = pcStack_11c;\n  pcVar19 = pcStack_120;\n  piVar10 = piStack_124;\n  pcVar15 = pcStack_128;\n  if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }\n  iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;\n  piStack_130 = (int *)pcStack_12c;\n  piStack_114 = piStack_110;\n  pcStack_118 = (code *)piVar12;\n  pcStack_11c = pcVar4;\n  pcStack_120 = pcVar8;\n  piStack_124 = (int *)pcVar19;\n  pcStack_128 = (code *)piVar10;\n  pcStack_12c = pcVar15;\n  piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);\n  iVar27 = piVar7[0x1a];\n  uVar17 = piVar7[0x19] + 1;\n  iVar16 = piVar7[0x1b];\n  iVar30 = iVar27 + 1;\n  iStack_134 = *piVar10;\n  uVar9 = *(undefined4 *)(*piVar7 + 0xc);\n  piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];\n  piVar7[0x19] = uVar17;\n  piVar7[0x1a] = iVar30;\n  piStack_110 = (int *)iVar6;\n  if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }\nLAB_001487fc:\n  piVar12 = (int *)0x0;\nLAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }\n  pcVar15 = *(code **)(iVar31 + -0x7b28);\n  iVar6 = iStack_134;\n  (*pcVar15)();\n  piVar10 = ppiVar13[1];\n  if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }\n  (*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);\n  return (int *)0x0;\n}" ({ "{") (declaration "code cVar1;" (type_identifier "code") (identifier "cVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "int **ppiVar5;" (primitive_type "int") (pointer_declarator "**ppiVar5" (* "*") (pointer_declarator "*ppiVar5" (* "*") (identifier "ppiVar5"))) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "code *pcVar8;" (type_identifier "code") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "int extraout_v1;" (primitive_type "int") (identifier "extraout_v1") (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "int **ppiVar13;" (primitive_type "int") (pointer_declarator "**ppiVar13" (* "*") (pointer_declarator "*ppiVar13" (* "*") (identifier "ppiVar13"))) (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "code *pcVar15;" (type_identifier "code") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "code *pcVar19;" (type_identifier "code") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "int *piVar20;" (primitive_type "int") (pointer_declarator "*piVar20" (* "*") (identifier "piVar20")) (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "undefined *puVar22;" (type_identifier "undefined") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "int *piVar23;" (primitive_type "int") (pointer_declarator "*piVar23" (* "*") (identifier "piVar23")) (; ";")) (declaration "undefined4 *puVar24;" (type_identifier "undefined4") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "undefined4 *puVar25;" (type_identifier "undefined4") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "int *piVar26;" (primitive_type "int") (pointer_declarator "*piVar26" (* "*") (identifier "piVar26")) (; ";")) (declaration "int *unaff_s7;" (primitive_type "int") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "undefined *puVar28;" (type_identifier "undefined") (pointer_declarator "*puVar28" (* "*") (identifier "puVar28")) (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "int iVar30;" (primitive_type "int") (identifier "iVar30") (; ";")) (declaration "int iVar31;" (primitive_type "int") (identifier "iVar31") (; ";")) (declaration "undefined4 uVar32;" (type_identifier "undefined4") (identifier "uVar32") (; ";")) (declaration "int *piStack_140;" (primitive_type "int") (pointer_declarator "*piStack_140" (* "*") (identifier "piStack_140")) (; ";")) (declaration "uint uStack_13c;" (type_identifier "uint") (identifier "uStack_13c") (; ";")) (declaration "code *pcStack_138;" (type_identifier "code") (pointer_declarator "*pcStack_138" (* "*") (identifier "pcStack_138")) (; ";")) (declaration "int iStack_134;" (primitive_type "int") (identifier "iStack_134") (; ";")) (declaration "int *piStack_130;" (primitive_type "int") (pointer_declarator "*piStack_130" (* "*") (identifier "piStack_130")) (; ";")) (declaration "code *pcStack_12c;" (type_identifier "code") (pointer_declarator "*pcStack_12c" (* "*") (identifier "pcStack_12c")) (; ";")) (declaration "code *pcStack_128;" (type_identifier "code") (pointer_declarator "*pcStack_128" (* "*") (identifier "pcStack_128")) (; ";")) (declaration "int *piStack_124;" (primitive_type "int") (pointer_declarator "*piStack_124" (* "*") (identifier "piStack_124")) (; ";")) (declaration "code *pcStack_120;" (type_identifier "code") (pointer_declarator "*pcStack_120" (* "*") (identifier "pcStack_120")) (; ";")) (declaration "code *pcStack_11c;" (type_identifier "code") (pointer_declarator "*pcStack_11c" (* "*") (identifier "pcStack_11c")) (; ";")) (declaration "code *pcStack_118;" (type_identifier "code") (pointer_declarator "*pcStack_118" (* "*") (identifier "pcStack_118")) (; ";")) (declaration "int *piStack_114;" (primitive_type "int") (pointer_declarator "*piStack_114" (* "*") (identifier "piStack_114")) (; ";")) (declaration "int *piStack_110;" (primitive_type "int") (pointer_declarator "*piStack_110" (* "*") (identifier "piStack_110")) (; ";")) (declaration "undefined4 uStack_10c;" (type_identifier "undefined4") (identifier "uStack_10c") (; ";")) (declaration "int **ppiStack_f8;" (primitive_type "int") (pointer_declarator "**ppiStack_f8" (* "*") (pointer_declarator "*ppiStack_f8" (* "*") (identifier "ppiStack_f8"))) (; ";")) (declaration "undefined4 uStack_f4;" (type_identifier "undefined4") (identifier "uStack_f4") (; ";")) (declaration "code *pcStack_f0;" (type_identifier "code") (pointer_declarator "*pcStack_f0" (* "*") (identifier "pcStack_f0")) (; ";")) (declaration "int *piStack_e8;" (primitive_type "int") (pointer_declarator "*piStack_e8" (* "*") (identifier "piStack_e8")) (; ";")) (declaration "int *piStack_e4;" (primitive_type "int") (pointer_declarator "*piStack_e4" (* "*") (identifier "piStack_e4")) (; ";")) (declaration "int *piStack_dc;" (primitive_type "int") (pointer_declarator "*piStack_dc" (* "*") (identifier "piStack_dc")) (; ";")) (declaration "code *pcStack_d8;" (type_identifier "code") (pointer_declarator "*pcStack_d8" (* "*") (identifier "pcStack_d8")) (; ";")) (declaration "undefined *puStack_d4;" (type_identifier "undefined") (pointer_declarator "*puStack_d4" (* "*") (identifier "puStack_d4")) (; ";")) (declaration "undefined4 *puStack_d0;" (type_identifier "undefined4") (pointer_declarator "*puStack_d0" (* "*") (identifier "puStack_d0")) (; ";")) (declaration "undefined4 *puStack_cc;" (type_identifier "undefined4") (pointer_declarator "*puStack_cc" (* "*") (identifier "puStack_cc")) (; ";")) (declaration "code *pcStack_c8;" (type_identifier "code") (pointer_declarator "*pcStack_c8" (* "*") (identifier "pcStack_c8")) (; ";")) (declaration "undefined4 uStack_c4;" (type_identifier "undefined4") (identifier "uStack_c4") (; ";")) (declaration "undefined *puStack_b0;" (type_identifier "undefined") (pointer_declarator "*puStack_b0" (* "*") (identifier "puStack_b0")) (; ";")) (declaration "code *pcStack_a4;" (type_identifier "code") (pointer_declarator "*pcStack_a4" (* "*") (identifier "pcStack_a4")) (; ";")) (declaration "int iStack_a0;" (primitive_type "int") (identifier "iStack_a0") (; ";")) (declaration "int *piStack_9c;" (primitive_type "int") (pointer_declarator "*piStack_9c" (* "*") (identifier "piStack_9c")) (; ";")) (declaration "code *pcStack_98;" (type_identifier "code") (pointer_declarator "*pcStack_98" (* "*") (identifier "pcStack_98")) (; ";")) (declaration "code *pcStack_94;" (type_identifier "code") (pointer_declarator "*pcStack_94" (* "*") (identifier "pcStack_94")) (; ";")) (declaration "undefined *puStack_90;" (type_identifier "undefined") (pointer_declarator "*puStack_90" (* "*") (identifier "puStack_90")) (; ";")) (declaration "undefined4 *puStack_8c;" (type_identifier "undefined4") (pointer_declarator "*puStack_8c" (* "*") (identifier "puStack_8c")) (; ";")) (declaration "undefined4 *puStack_88;" (type_identifier "undefined4") (pointer_declarator "*puStack_88" (* "*") (identifier "puStack_88")) (; ";")) (declaration "code *pcStack_84;" (type_identifier "code") (pointer_declarator "*pcStack_84" (* "*") (identifier "pcStack_84")) (; ";")) (declaration "int *piStack_80;" (primitive_type "int") (pointer_declarator "*piStack_80" (* "*") (identifier "piStack_80")) (; ";")) (declaration "int *piStack_7c;" (primitive_type "int") (pointer_declarator "*piStack_7c" (* "*") (identifier "piStack_7c")) (; ";")) (declaration "int *piStack_78;" (primitive_type "int") (pointer_declarator "*piStack_78" (* "*") (identifier "piStack_78")) (; ";")) (declaration "code *pcStack_74;" (type_identifier "code") (pointer_declarator "*pcStack_74" (* "*") (identifier "pcStack_74")) (; ";")) (declaration "code *pcStack_6c;" (type_identifier "code") (pointer_declarator "*pcStack_6c" (* "*") (identifier "pcStack_6c")) (; ";")) (declaration "undefined8 local_60;" (type_identifier "undefined8") (identifier "local_60") (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "int *local_38;" (primitive_type "int") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar22 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar22 = PTR___stack_chk_guard_00190e24" (identifier "puVar22") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "puVar25 = &local_30;" (assignment_expression "puVar25 = &local_30" (identifier "puVar25") (= "=") (pointer_expression "&local_30" (& "&") (identifier "local_30"))) (; ";")) (expression_statement "puVar24 = &local_34;" (assignment_expression "puVar24 = &local_34" (identifier "puVar24") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "pcVar15 = (code *)&DAT_00000007;" (assignment_expression "pcVar15 = (code *)&DAT_00000007" (identifier "pcVar15") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (expression_statement "local_38 = (int *)0x0;" (assignment_expression "local_38 = (int *)0x0" (identifier "local_38") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);" (assignment_expression "pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8)" (identifier "pcVar19") (= "=") (cast_expression "(code *)(PTR_LAB_00190c64 + 0x10f8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190c64 + 0x10f8)" (( "(") (binary_expression "PTR_LAB_00190c64 + 0x10f8" (identifier "PTR_LAB_00190c64") (+ "+") (number_literal "0x10f8")) () ")")))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "local_3c = param_2;" (assignment_expression "local_3c = param_2" (identifier "local_3c") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_34 = param_2;" (assignment_expression "local_34 = param_2" (identifier "local_34") (= "=") (identifier "param_2")) (; ";")) (expression_statement "piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);" (assignment_expression "piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24)" (identifier "piStack_78") (= "=") (cast_expression "(int *)(*pcVar19)(param_1,7,puVar25,puVar24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar19)(param_1,7,puVar25,puVar24)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(param_1,7,puVar25,puVar24)" (( "(") (identifier "param_1") (, ",") (number_literal "7") (, ",") (identifier "puVar25") (, ",") (identifier "puVar24") () ")"))))) (; ";")) (expression_statement "puVar28 = PTR_sqlite3_step_00190990;" (assignment_expression "puVar28 = PTR_sqlite3_step_00190990" (identifier "puVar28") (= "=") (identifier "PTR_sqlite3_step_00190990")) (; ";")) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" (identifier "piVar10") (= "=") (identifier "unaff_s7")) (; ";")) (if_statement "if (piStack_78 == (int *)0x0) {\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }\n  else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }" (if "if") (parenthesized_expression "(piStack_78 == (int *)0x0)" (( "(") (binary_expression "piStack_78 == (int *)0x0" (identifier "piStack_78") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);\n    if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }\n  }" ({ "{") (expression_statement "iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_sqlite3_step_00190990)(local_30)" (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_30)" (( "(") (identifier "local_30") () ")")))) (; ";")) (if_statement "if (iVar6 == 100) {\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }\n    else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }" (if "if") (parenthesized_expression "(iVar6 == 100)" (( "(") (binary_expression "iVar6 == 100" (identifier "iVar6") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n      if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }\n      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);\n      pcVar15 = (code *)0x1;\n      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);\n      puVar3 = PTR_sqlite3_column_text_001909a8;\n      puVar2 = PTR_sqlite3_column_bytes_0019099c;\n      if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }\n      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n      piVar10 = unaff_s7;\n      piStack_78 = piVar7;\n    }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x2c) == 0) {\n        local_50 = 0;\n      }\n      else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x2c) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) == 0" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_50 = 0;\n      }" ({ "{") (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }" (else "else") (compound_statement "{\n        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;\n      }" ({ "{") (expression_statement "local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)\n        ;" (assignment_expression "local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)" (identifier "local_50") (= "=") (call_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_int_00190a4c" (* "*") (cast_expression "(code *)PTR_sqlite3_column_int_00190a4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_int_00190a4c"))) () ")")) (argument_list "(local_30,*(int *)(param_1 + 0x18) + 1)" (( "(") (identifier "local_30") (, ",") (binary_expression "*(int *)(param_1 + 0x18) + 1" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (expression_statement "local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);" (assignment_expression "local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0)" (identifier "local_60") (= "=") (call_expression "(*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int64_001909a4)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_int64_001909a4" (* "*") (cast_expression "(code *)PTR_sqlite3_column_int64_001909a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_int64_001909a4"))) () ")")) (argument_list "(local_30,0)" (( "(") (identifier "local_30") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar15 = (code *)0x1;" (assignment_expression "pcVar15 = (code *)0x1" (identifier "pcVar15") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);" (assignment_expression "piVar7 = (int *)FUN_0014a33c(param_1,1,local_50)" (identifier "piVar7") (= "=") (cast_expression "(int *)FUN_0014a33c(param_1,1,local_50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0014a33c(param_1,1,local_50)" (identifier "FUN_0014a33c") (argument_list "(param_1,1,local_50)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (identifier "local_50") () ")"))))) (; ";")) (expression_statement "puVar3 = PTR_sqlite3_column_text_001909a8;" (assignment_expression "puVar3 = PTR_sqlite3_column_text_001909a8" (identifier "puVar3") (= "=") (identifier "PTR_sqlite3_column_text_001909a8")) (; ";")) (expression_statement "puVar2 = PTR_sqlite3_column_bytes_0019099c;" (assignment_expression "puVar2 = PTR_sqlite3_column_bytes_0019099c" (identifier "puVar2") (= "=") (identifier "PTR_sqlite3_column_bytes_0019099c")) (; ";")) (if_statement "if (piVar7 == (int *)0x0) {\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }" (if "if") (parenthesized_expression "(piVar7 == (int *)0x0)" (( "(") (binary_expression "piVar7 == (int *)0x0" (identifier "piVar7") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        piVar12 = (int *)0x1;\n        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);\n        do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);\n      }" ({ "{") (expression_statement "piVar12 = (int *)0x1;" (assignment_expression "piVar12 = (int *)0x1" (identifier "piVar12") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);" (assignment_expression "pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c)" (identifier "pcVar8") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + -0x483c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + -0x483c)" (( "(") (binary_expression "PTR_LAB_00190bc0 + -0x483c" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "-0x483c")) () ")")))) (; ";")) (do_statement "do {\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        } while (piVar7 == (int *)0x0);" (do "do") (compound_statement "{\n          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;\n          if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }\n          pcVar15 = *(code **)(param_1 + 0x20);\n          cVar1 = pcVar15[(int)piVar12 + -1];\n          piVar7 = (int *)((int)piVar12 + -1);\n          unaff_s7 = piVar12;\n          while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }\n          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);\n          local_60._0_4_ = param_4 + (int)piVar7 * 4;\n          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);\n          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);\n          piVar12 = (int *)((int)unaff_s7 + 1);\n          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;\n          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;\n        }" ({ "{") (expression_statement "piVar10 = (int *)PTR_sqlite3_reset_00190a5c;" (assignment_expression "piVar10 = (int *)PTR_sqlite3_reset_00190a5c" (identifier "piVar10") (= "=") (cast_expression "(int *)PTR_sqlite3_reset_00190a5c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_reset_00190a5c"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x18) < (int)piVar12) {\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x18) < (int)piVar12)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) < (int)piVar12" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12"))) () ")")) (compound_statement "{\nLAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n            piStack_78 = local_38;\n            if (local_38 != (int *)0x0) goto LAB_0014a65c;\n            local_34 = local_3c;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }\n            *param_3 = *param_3 + -1;\n            if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }\n            piStack_78 = local_38;\n            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }\n            goto LAB_0014a65c;\n          }" ({ "{") (labeled_statement "LAB_0014a6b4:\n            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (statement_identifier "LAB_0014a6b4") (: ":") (expression_statement "local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (assignment_expression "local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (identifier "local_38") (= "=") (cast_expression "(int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" (( "(") (identifier "local_30") () ")"))))) (; ";"))) (expression_statement "piStack_78 = local_38;" (assignment_expression "piStack_78 = local_38" (identifier "piStack_78") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (local_38 != (int *)0x0) goto LAB_0014a65c;" (if "if") (parenthesized_expression "(local_38 != (int *)0x0)" (( "(") (binary_expression "local_38 != (int *)0x0" (identifier "local_38") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0014a65c;" (goto "goto") (statement_identifier "LAB_0014a65c") (; ";"))) (expression_statement "local_34 = local_3c;" (assignment_expression "local_34 = local_3c" (identifier "local_34") (= "=") (identifier "local_3c")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x28) == 0" (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar15 = (code *)0x1;\n              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);\n              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              iVar6 = (*(code *)puVar28)(local_30);\n              if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }\n            }" ({ "{") (expression_statement "pcVar15 = (code *)0x1;" (assignment_expression "pcVar15 = (code *)0x1" (identifier "pcVar15") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);" (assignment_expression "piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24)" (identifier "piStack_78") (= "=") (cast_expression "(int *)(*pcVar19)(param_1,1,puVar25,puVar24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar19)(param_1,1,puVar25,puVar24)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(param_1,1,puVar25,puVar24)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (identifier "puVar25") (, ",") (identifier "puVar24") () ")"))))) (; ";")) (if_statement "if (piStack_78 != (int *)0x0) goto LAB_0014a65c;" (if "if") (parenthesized_expression "(piStack_78 != (int *)0x0)" (( "(") (binary_expression "piStack_78 != (int *)0x0" (identifier "piStack_78") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0014a65c;" (goto "goto") (statement_identifier "LAB_0014a65c") (; ";"))) (expression_statement "iVar6 = (*(code *)puVar28)(local_30);" (assignment_expression "iVar6 = (*(code *)puVar28)(local_30)" (identifier "iVar6") (= "=") (call_expression "(*(code *)puVar28)(local_30)" (parenthesized_expression "(*(code *)puVar28)" (( "(") (pointer_expression "*(code *)puVar28" (* "*") (cast_expression "(code *)puVar28" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar28"))) () ")")) (argument_list "(local_30)" (( "(") (identifier "local_30") () ")")))) (; ";")) (if_statement "if (iVar6 == 100) {\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }\n              else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }" (if "if") (parenthesized_expression "(iVar6 == 100)" (( "(") (binary_expression "iVar6 == 100" (identifier "iVar6") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n                pcVar15 = (code *)0x0;\n                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);\n                piStack_78 = (int *)(*(code *)piVar10)(local_30);\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n                if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }\n              }" ({ "{") (expression_statement "pcVar15 = (code *)0x0;" (assignment_expression "pcVar15 = (code *)0x0" (identifier "pcVar15") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);" (assignment_expression "pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30)" (identifier "pcVar19") (= "=") (cast_expression "(code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_00190a4c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_int_00190a4c" (* "*") (cast_expression "(code *)PTR_sqlite3_column_int_00190a4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_int_00190a4c"))) () ")")) (argument_list "(local_30)" (( "(") (identifier "local_30") () ")"))))) (; ";")) (expression_statement "piStack_78 = (int *)(*(code *)piVar10)(local_30);" (assignment_expression "piStack_78 = (int *)(*(code *)piVar10)(local_30)" (identifier "piStack_78") (= "=") (cast_expression "(int *)(*(code *)piVar10)(local_30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)piVar10)(local_30)" (parenthesized_expression "(*(code *)piVar10)" (( "(") (pointer_expression "*(code *)piVar10" (* "*") (cast_expression "(code *)piVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar10"))) () ")")) (argument_list "(local_30)" (( "(") (identifier "local_30") () ")"))))) (; ";")) (expression_statement "local_38 = piStack_78;" (assignment_expression "local_38 = piStack_78" (identifier "local_38") (= "=") (identifier "piStack_78")) (; ";")) (if_statement "if (piStack_78 != (int *)0x0) goto LAB_0014a65c;" (if "if") (parenthesized_expression "(piStack_78 != (int *)0x0)" (( "(") (binary_expression "piStack_78 != (int *)0x0" (identifier "piStack_78") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0014a65c;" (goto "goto") (statement_identifier "LAB_0014a65c") (; ";"))) (if_statement "if (pcVar19 != (code *)0x0) {\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }" (if "if") (parenthesized_expression "(pcVar19 != (code *)0x0)" (( "(") (binary_expression "pcVar19 != (code *)0x0" (identifier "pcVar19") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);\n                  pcVar15 = (code *)0x0;\n                  *param_3 = 0;\n                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);\n                  goto LAB_0014a65c;\n                }" ({ "{") (expression_statement "piStack_78 = (int *)FUN_0012dd5c(param_1,1);" (assignment_expression "piStack_78 = (int *)FUN_0012dd5c(param_1,1)" (identifier "piStack_78") (= "=") (cast_expression "(int *)FUN_0012dd5c(param_1,1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0012dd5c(param_1,1)" (identifier "FUN_0012dd5c") (argument_list "(param_1,1)" (( "(") (identifier "param_1") (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "pcVar15 = (code *)0x0;" (assignment_expression "pcVar15 = (code *)0x0" (identifier "pcVar15") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);" (call_expression "(*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" (( "(") (pointer_expression "*(code *)PTR_memset_00190d58" (* "*") (cast_expression "(code *)PTR_memset_00190d58" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_00190d58"))) () ")")) (argument_list "(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8)" (( "(") (identifier "param_4") (, ",") (number_literal "0") (, ",") (binary_expression "(*(int *)(param_1 + 0x18) + 1) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x18) + 1)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) + 1" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")) () ")"))) (; ";")) (goto_statement "goto LAB_0014a65c;" (goto "goto") (statement_identifier "LAB_0014a65c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }" (else "else") (compound_statement "{\n                piStack_78 = (int *)(*(code *)piVar10)();\n                local_38 = piStack_78;\n                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;\n              }" ({ "{") (expression_statement "piStack_78 = (int *)(*(code *)piVar10)();" (assignment_expression "piStack_78 = (int *)(*(code *)piVar10)()" (identifier "piStack_78") (= "=") (cast_expression "(int *)(*(code *)piVar10)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)piVar10)()" (parenthesized_expression "(*(code *)piVar10)" (( "(") (pointer_expression "*(code *)piVar10" (* "*") (cast_expression "(code *)piVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar10"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_38 = piStack_78;" (assignment_expression "local_38 = piStack_78" (identifier "local_38") (= "=") (identifier "piStack_78")) (; ";")) (if_statement "if (piStack_78 != (int *)0x0) goto LAB_0014a65c;" (if "if") (parenthesized_expression "(piStack_78 != (int *)0x0)" (( "(") (binary_expression "piStack_78 != (int *)0x0" (identifier "piStack_78") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0014a65c;" (goto "goto") (statement_identifier "LAB_0014a65c") (; ";"))) (} "}")))) (} "}"))) (expression_statement "*param_3 = *param_3 + -1;" (assignment_expression "*param_3 = *param_3 + -1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "*param_3 + -1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x28) == 0) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x28) == 0" (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0,&local_3c);\n            }" ({ "{") (expression_statement "pcVar15 = param_1;" (assignment_expression "pcVar15 = param_1" (identifier "pcVar15") (= "=") (identifier "param_1")) (; ";")) (expression_statement "FUN_0012dcb0(&local_38,param_1,0,&local_3c);" (call_expression "FUN_0012dcb0(&local_38,param_1,0,&local_3c)" (identifier "FUN_0012dcb0") (argument_list "(&local_38,param_1,0,&local_3c)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_1") (, ",") (number_literal "0") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")"))) (; ";")) (} "}"))) (expression_statement "piStack_78 = local_38;" (assignment_expression "piStack_78 = local_38" (identifier "piStack_78") (= "=") (identifier "local_38")) (; ";")) (if_statement "if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }" (if "if") (parenthesized_expression "((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0))" (( "(") (binary_expression "(param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)" (parenthesized_expression "(param_1[0xea] != (code)0x0)" (( "(") (binary_expression "param_1[0xea] != (code)0x0" (subscript_expression "param_1[0xea]" (identifier "param_1") ([ "[") (number_literal "0xea") (] "]")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_38 == (int *)0x0)" (( "(") (binary_expression "local_38 == (int *)0x0" (identifier "local_38") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n              pcVar15 = param_1;\n              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);\n              piStack_78 = local_38;\n            }" ({ "{") (expression_statement "pcVar15 = param_1;" (assignment_expression "pcVar15 = param_1" (identifier "pcVar15") (= "=") (identifier "param_1")) (; ";")) (expression_statement "FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);" (call_expression "FUN_0012dcb0(&local_38,param_1,0x13,&local_3c)" (identifier "FUN_0012dcb0") (argument_list "(&local_38,param_1,0x13,&local_3c)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_1") (, ",") (number_literal "0x13") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")"))) (; ";")) (expression_statement "piStack_78 = local_38;" (assignment_expression "piStack_78 = local_38" (identifier "piStack_78") (= "=") (identifier "local_38")) (; ";")) (} "}"))) (goto_statement "goto LAB_0014a65c;" (goto "goto") (statement_identifier "LAB_0014a65c") (; ";")) (} "}"))) (expression_statement "pcVar15 = *(code **)(param_1 + 0x20);" (assignment_expression "pcVar15 = *(code **)(param_1 + 0x20)" (identifier "pcVar15") (= "=") (pointer_expression "*(code **)(param_1 + 0x20)" (* "*") (cast_expression "(code **)(param_1 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "cVar1 = pcVar15[(int)piVar12 + -1];" (assignment_expression "cVar1 = pcVar15[(int)piVar12 + -1]" (identifier "cVar1") (= "=") (subscript_expression "pcVar15[(int)piVar12 + -1]" (identifier "pcVar15") ([ "[") (binary_expression "(int)piVar12 + -1" (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12")) (+ "+") (number_literal "-1")) (] "]"))) (; ";")) (expression_statement "piVar7 = (int *)((int)piVar12 + -1);" (assignment_expression "piVar7 = (int *)((int)piVar12 + -1)" (identifier "piVar7") (= "=") (cast_expression "(int *)((int)piVar12 + -1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar12 + -1)" (( "(") (binary_expression "(int)piVar12 + -1" (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "unaff_s7 = piVar12;" (assignment_expression "unaff_s7 = piVar12" (identifier "unaff_s7") (= "=") (identifier "piVar12")) (; ";")) (while_statement "while (cVar1 != (code)0x0) {\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }" (while "while") (parenthesized_expression "(cVar1 != (code)0x0)" (( "(") (binary_expression "cVar1 != (code)0x0" (identifier "cVar1") (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            piVar12 = (int *)((int)unaff_s7 + 1);\n            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;\n            piVar7 = unaff_s7;\n            unaff_s7 = piVar12;\n            cVar1 = (pcVar15 + (int)piVar12)[-1];\n          }" ({ "{") (expression_statement "piVar12 = (int *)((int)unaff_s7 + 1);" (assignment_expression "piVar12 = (int *)((int)unaff_s7 + 1)" (identifier "piVar12") (= "=") (cast_expression "(int *)((int)unaff_s7 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + 1)" (( "(") (binary_expression "(int)unaff_s7 + 1" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x18) < (int)piVar12)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) < (int)piVar12" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12"))) () ")")) (goto_statement "goto LAB_0014a6b4;" (goto "goto") (statement_identifier "LAB_0014a6b4") (; ";"))) (expression_statement "piVar7 = unaff_s7;" (assignment_expression "piVar7 = unaff_s7" (identifier "piVar7") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "unaff_s7 = piVar12;" (assignment_expression "unaff_s7 = piVar12" (identifier "unaff_s7") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "cVar1 = (pcVar15 + (int)piVar12)[-1];" (assignment_expression "cVar1 = (pcVar15 + (int)piVar12)[-1]" (identifier "cVar1") (= "=") (subscript_expression "(pcVar15 + (int)piVar12)[-1]" (parenthesized_expression "(pcVar15 + (int)piVar12)" (( "(") (binary_expression "pcVar15 + (int)piVar12" (identifier "pcVar15") (+ "+") (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12"))) () ")")) ([ "[") (number_literal "-1") (] "]"))) (; ";")) (} "}"))) (expression_statement "uVar9 = (*(code *)puVar3)(local_30,unaff_s7);" (assignment_expression "uVar9 = (*(code *)puVar3)(local_30,unaff_s7)" (identifier "uVar9") (= "=") (call_expression "(*(code *)puVar3)(local_30,unaff_s7)" (parenthesized_expression "(*(code *)puVar3)" (( "(") (pointer_expression "*(code *)puVar3" (* "*") (cast_expression "(code *)puVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) () ")")) (argument_list "(local_30,unaff_s7)" (( "(") (identifier "local_30") (, ",") (identifier "unaff_s7") () ")")))) (; ";")) (expression_statement "local_60._0_4_ = param_4 + (int)piVar7 * 4;" (assignment_expression "local_60._0_4_ = param_4 + (int)piVar7 * 4" (field_expression "local_60._0_4_" (identifier "local_60") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "param_4 + (int)piVar7 * 4" (identifier "param_4") (+ "+") (binary_expression "(int)piVar7 * 4" (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);" (assignment_expression "piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff)" (identifier "piVar7") (= "=") (cast_expression "(int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar8)(param_1,local_50,uVar9,0xffffffff)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(param_1,local_50,uVar9,0xffffffff)" (( "(") (identifier "param_1") (, ",") (identifier "local_50") (, ",") (identifier "uVar9") (, ",") (number_literal "0xffffffff") () ")"))))) (; ";")) (expression_statement "iVar6 = (*(code *)puVar2)(local_30,unaff_s7);" (assignment_expression "iVar6 = (*(code *)puVar2)(local_30,unaff_s7)" (identifier "iVar6") (= "=") (call_expression "(*(code *)puVar2)(local_30,unaff_s7)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(local_30,unaff_s7)" (( "(") (identifier "local_30") (, ",") (identifier "unaff_s7") () ")")))) (; ";")) (expression_statement "piVar12 = (int *)((int)unaff_s7 + 1);" (assignment_expression "piVar12 = (int *)((int)unaff_s7 + 1)" (identifier "piVar12") (= "=") (cast_expression "(int *)((int)unaff_s7 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + 1)" (( "(") (binary_expression "(int)unaff_s7 + 1" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;" (assignment_expression "pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4" (identifier "pcVar15") (= "=") (binary_expression "param_4 + *(int *)(param_1 + 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "*(int *)(param_1 + 0x18) * 4" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "*(int *)pcVar15 = *(int *)pcVar15 + iVar6;" (assignment_expression "*(int *)pcVar15 = *(int *)pcVar15 + iVar6" (pointer_expression "*(int *)pcVar15" (* "*") (cast_expression "(int *)pcVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar15"))) (= "=") (binary_expression "*(int *)pcVar15 + iVar6" (pointer_expression "*(int *)pcVar15" (* "*") (cast_expression "(int *)pcVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar15"))) (+ "+") (identifier "iVar6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar7 == (int *)0x0)" (( "(") (binary_expression "piVar7 == (int *)0x0" (identifier "piVar7") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" (( "(") (identifier "local_30") () ")"))) (; ";")) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" (identifier "piVar10") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "piStack_78 = piVar7;" (assignment_expression "piStack_78 = piVar7" (identifier "piStack_78") (= "=") (identifier "piVar7")) (; ";")) (} "}")) (else_clause "else {\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }" (else "else") (compound_statement "{\n      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n    }" ({ "{") (expression_statement "piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (assignment_expression "piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (identifier "piStack_78") (= "=") (cast_expression "(int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" (( "(") (identifier "local_30") () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }" (else "else") (compound_statement "{\n    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);\n  }" ({ "{") (expression_statement "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);" (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_30)" (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 "(local_30)" (( "(") (identifier "local_30") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_0014a65c:\n  if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }" (statement_identifier "LAB_0014a65c") (: ":") (if_statement "if (local_2c == *(int *)puVar22) {\n    return piStack_78;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar22)" (( "(") (binary_expression "local_2c == *(int *)puVar22" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar22" (* "*") (cast_expression "(int *)puVar22" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar22")))) () ")")) (compound_statement "{\n    return piStack_78;\n  }" ({ "{") (return_statement "return piStack_78;" (return "return") (identifier "piStack_78") (; ";")) (} "}")))) (expression_statement "pcVar8 = FUN_0014a840;" (assignment_expression "pcVar8 = FUN_0014a840" (identifier "pcVar8") (= "=") (identifier "FUN_0014a840")) (; ";")) (expression_statement "iVar6 = local_2c;" (assignment_expression "iVar6 = local_2c" (identifier "iVar6") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar28 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar28 = PTR___stack_chk_fail_00190df8" (identifier "puVar28") (= "=") (identifier "PTR___stack_chk_fail_00190df8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_b0 = puVar28 + 0x4e0e0;" (assignment_expression "puStack_b0 = puVar28 + 0x4e0e0" (identifier "puStack_b0") (= "=") (binary_expression "puVar28 + 0x4e0e0" (identifier "puVar28") (+ "+") (number_literal "0x4e0e0"))) (; ";")) (expression_statement "piVar7 = &iStack_a0;" (assignment_expression "piVar7 = &iStack_a0" (identifier "piVar7") (= "=") (pointer_expression "&iStack_a0" (& "&") (identifier "iStack_a0"))) (; ";")) (expression_statement "puStack_90 = puVar22;" (assignment_expression "puStack_90 = puVar22" (identifier "puStack_90") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "piVar26 = *(int **)(puVar28 + 0x465e4);" (assignment_expression "piVar26 = *(int **)(puVar28 + 0x465e4)" (identifier "piVar26") (= "=") (pointer_expression "*(int **)(puVar28 + 0x465e4)" (* "*") (cast_expression "(int **)(puVar28 + 0x465e4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0x465e4)" (( "(") (binary_expression "puVar28 + 0x465e4" (identifier "puVar28") (+ "+") (number_literal "0x465e4")) () ")"))))) (; ";")) (expression_statement "iStack_a0 = 0;" (assignment_expression "iStack_a0 = 0" (identifier "iStack_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_9c = (int *)*piVar26;" (assignment_expression "piStack_9c = (int *)*piVar26" (identifier "piStack_9c") (= "=") (cast_expression "(int *)*piVar26" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar26" (* "*") (identifier "piVar26")))) (; ";")) (expression_statement "pcStack_98 = pcVar19;" (assignment_expression "pcStack_98 = pcVar19" (identifier "pcStack_98") (= "=") (identifier "pcVar19")) (; ";")) (expression_statement "pcStack_94 = param_1;" (assignment_expression "pcStack_94 = param_1" (identifier "pcStack_94") (= "=") (identifier "param_1")) (; ";")) (expression_statement "puStack_8c = puVar24;" (assignment_expression "puStack_8c = puVar24" (identifier "puStack_8c") (= "=") (identifier "puVar24")) (; ";")) (expression_statement "puStack_88 = puVar25;" (assignment_expression "puStack_88 = puVar25" (identifier "puStack_88") (= "=") (identifier "puVar25")) (; ";")) (expression_statement "pcStack_84 = param_4;" (assignment_expression "pcStack_84 = param_4" (identifier "pcStack_84") (= "=") (identifier "param_4")) (; ";")) (expression_statement "piStack_80 = param_3;" (assignment_expression "piStack_80 = param_3" (identifier "piStack_80") (= "=") (identifier "param_3")) (; ";")) (expression_statement "piStack_7c = piVar10;" (assignment_expression "piStack_7c = piVar10" (identifier "piStack_7c") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "pcStack_74 = pcVar8;" (assignment_expression "pcStack_74 = pcVar8" (identifier "pcStack_74") (= "=") (identifier "pcVar8")) (; ";")) (expression_statement "pcStack_6c = pcVar15;" (assignment_expression "pcStack_6c = pcVar15" (identifier "pcStack_6c") (= "=") (identifier "pcVar15")) (; ";")) (expression_statement "piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();" (assignment_expression "piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))()" (identifier "piVar12") (= "=") (cast_expression "(int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))()" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8)" (* "*") (cast_expression "(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar28 + 0x46424) + 0x10f8)" (( "(") (binary_expression "*(int *)(puVar28 + 0x46424) + 0x10f8" (pointer_expression "*(int *)(puVar28 + 0x46424)" (* "*") (cast_expression "(int *)(puVar28 + 0x46424)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar28 + 0x46424)" (( "(") (binary_expression "puVar28 + 0x46424" (identifier "puVar28") (+ "+") (number_literal "0x46424")) () ")")))) (+ "+") (number_literal "0x10f8")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (piVar12 == (int *)0x0) {\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }\n  else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }" (if "if") (parenthesized_expression "(piVar12 == (int *)0x0)" (( "(") (binary_expression "piVar12 == (int *)0x0" (identifier "piVar12") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pcVar15 = *(code **)(puStack_b0 + -0x7e90);\n    puVar24 = (undefined4 *)0x0;\n    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);\n    param_4 = *(code **)(puStack_b0 + -0x7f90);\n    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);\n    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);\n    (*pcVar15)(iStack_a0,2);\n    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);\nLAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;\n    piVar10 = (int *)0x0;\n    iVar29 = (*param_4)(iStack_a0);\n    while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }\n    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();\n    piVar12 = piVar10;\n    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }\n  }" ({ "{") (expression_statement "pcVar15 = *(code **)(puStack_b0 + -0x7e90);" (assignment_expression "pcVar15 = *(code **)(puStack_b0 + -0x7e90)" (identifier "pcVar15") (= "=") (pointer_expression "*(code **)(puStack_b0 + -0x7e90)" (* "*") (cast_expression "(code **)(puStack_b0 + -0x7e90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b0 + -0x7e90)" (( "(") (binary_expression "puStack_b0 + -0x7e90" (identifier "puStack_b0") (+ "+") (number_literal "-0x7e90")) () ")"))))) (; ";")) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);" (assignment_expression "pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4)" (identifier "pcStack_a4") (= "=") (pointer_expression "*(code **)(puStack_b0 + -0x7ed4)" (* "*") (cast_expression "(code **)(puStack_b0 + -0x7ed4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b0 + -0x7ed4)" (( "(") (binary_expression "puStack_b0 + -0x7ed4" (identifier "puStack_b0") (+ "+") (number_literal "-0x7ed4")) () ")"))))) (; ";")) (expression_statement "param_4 = *(code **)(puStack_b0 + -0x7f90);" (assignment_expression "param_4 = *(code **)(puStack_b0 + -0x7f90)" (identifier "param_4") (= "=") (pointer_expression "*(code **)(puStack_b0 + -0x7f90)" (* "*") (cast_expression "(code **)(puStack_b0 + -0x7f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b0 + -0x7f90)" (( "(") (binary_expression "puStack_b0 + -0x7f90" (identifier "puStack_b0") (+ "+") (number_literal "-0x7f90")) () ")"))))) (; ";")) (expression_statement "(*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);" (call_expression "(*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f)" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f)" (( "(") (identifier "iStack_a0") (, ",") (number_literal "1") (, ",") (binary_expression "*(int *)(iVar6 + 0x118) >> 0x1f" (pointer_expression "*(int *)(iVar6 + 0x118)" (* "*") (cast_expression "(int *)(iVar6 + 0x118)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x118)" (( "(") (binary_expression "iVar6 + 0x118" (identifier "iVar6") (+ "+") (number_literal "0x118")) () ")")))) (>> ">>") (number_literal "0x1f")) () ")"))) (; ";")) (expression_statement "piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);" (assignment_expression "piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f)" (identifier "piVar7") (= "=") (cast_expression "(int *)(*(int *)(iVar6 + 0xfc) >> 0x1f)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar6 + 0xfc) >> 0x1f)" (( "(") (binary_expression "*(int *)(iVar6 + 0xfc) >> 0x1f" (pointer_expression "*(int *)(iVar6 + 0xfc)" (* "*") (cast_expression "(int *)(iVar6 + 0xfc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xfc)" (( "(") (binary_expression "iVar6 + 0xfc" (identifier "iVar6") (+ "+") (number_literal "0xfc")) () ")")))) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "(*pcVar15)(iStack_a0,2);" (call_expression "(*pcVar15)(iStack_a0,2)" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(iStack_a0,2)" (( "(") (identifier "iStack_a0") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);" (assignment_expression "puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_b0 + -0x7d6c) + -0x7224)" (( "(") (binary_expression "*(int *)(puStack_b0 + -0x7d6c) + -0x7224" (pointer_expression "*(int *)(puStack_b0 + -0x7d6c)" (* "*") (cast_expression "(int *)(puStack_b0 + -0x7d6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_b0 + -0x7d6c)" (( "(") (binary_expression "puStack_b0 + -0x7d6c" (identifier "puStack_b0") (+ "+") (number_literal "-0x7d6c")) () ")")))) (+ "+") (number_literal "-0x7224")) () ")")))) (; ";")) (labeled_statement "LAB_0014a978:\n    puVar25 = (undefined4 *)&DAT_00000064;" (statement_identifier "LAB_0014a978") (: ":") (expression_statement "puVar25 = (undefined4 *)&DAT_00000064;" (assignment_expression "puVar25 = (undefined4 *)&DAT_00000064" (identifier "puVar25") (= "=") (cast_expression "(undefined4 *)&DAT_00000064" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000064" (& "&") (identifier "DAT_00000064")))) (; ";"))) (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" (identifier "piVar10") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar29 = (*param_4)(iStack_a0);" (assignment_expression "iVar29 = (*param_4)(iStack_a0)" (identifier "iVar29") (= "=") (call_expression "(*param_4)(iStack_a0)" (parenthesized_expression "(*param_4)" (( "(") (pointer_expression "*param_4" (* "*") (identifier "param_4")) () ")")) (argument_list "(iStack_a0)" (( "(") (identifier "iStack_a0") () ")")))) (; ";")) (while_statement "while (iVar29 == 100) {\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }" (while "while") (parenthesized_expression "(iVar29 == 100)" (( "(") (binary_expression "iVar29 == 100" (identifier "iVar29") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n      param_1 = (code *)0x65;\n      uVar9 = (*pcStack_a4)(iStack_a0,0);\n      piVar12 = piVar10;\n      while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }\n      iVar29 = (*param_4)(iStack_a0);\n    }" ({ "{") (expression_statement "param_1 = (code *)0x65;" (assignment_expression "param_1 = (code *)0x65" (identifier "param_1") (= "=") (cast_expression "(code *)0x65" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x65"))) (; ";")) (expression_statement "uVar9 = (*pcStack_a4)(iStack_a0,0);" (assignment_expression "uVar9 = (*pcStack_a4)(iStack_a0,0)" (identifier "uVar9") (= "=") (call_expression "(*pcStack_a4)(iStack_a0,0)" (parenthesized_expression "(*pcStack_a4)" (( "(") (pointer_expression "*pcStack_a4" (* "*") (identifier "pcStack_a4")) () ")")) (argument_list "(iStack_a0,0)" (( "(") (identifier "iStack_a0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar12 = piVar10;" (assignment_expression "piVar12 = piVar10" (identifier "piVar12") (= "=") (identifier "piVar10")) (; ";")) (while_statement "while (piVar10 == (int *)0x0) {\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }" (while "while") (parenthesized_expression "(piVar10 == (int *)0x0)" (( "(") (binary_expression "piVar10 == (int *)0x0" (identifier "piVar10") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }\n      }" ({ "{") (if_statement "if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0xfc) <= (int)piVar12)" (( "(") (binary_expression "*(int *)(iVar6 + 0xfc) <= (int)piVar12" (pointer_expression "*(int *)(iVar6 + 0xfc)" (* "*") (cast_expression "(int *)(iVar6 + 0xfc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xfc)" (( "(") (binary_expression "iVar6 + 0xfc" (identifier "iVar6") (+ "+") (number_literal "0xfc")) () ")")))) (<= "<=") (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12"))) () ")")) (goto_statement "goto LAB_0014a978;" (goto "goto") (statement_identifier "LAB_0014a978") (; ";"))) (while_statement "while( true ) {\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          piVar7 = piVar12;\n          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);\n          piVar12 = (int *)((int)piVar12 + 1);\n          if (piVar10 != (int *)0x65) break;\n          puVar24 = (undefined4 *)0x1;\n          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;\n        }" ({ "{") (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" (identifier "piVar7") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);" (assignment_expression "piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe)" (identifier "piVar10") (= "=") (cast_expression "(int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe)" (identifier "FUN_00148ddc") (argument_list "(iVar6,uVar9,piVar12,0xfffffffe)" (( "(") (identifier "iVar6") (, ",") (identifier "uVar9") (, ",") (identifier "piVar12") (, ",") (number_literal "0xfffffffe") () ")"))))) (; ";")) (expression_statement "piVar12 = (int *)((int)piVar12 + 1);" (assignment_expression "piVar12 = (int *)((int)piVar12 + 1)" (identifier "piVar12") (= "=") (cast_expression "(int *)((int)piVar12 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar12 + 1)" (( "(") (binary_expression "(int)piVar12 + 1" (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (piVar10 != (int *)0x65) break;" (if "if") (parenthesized_expression "(piVar10 != (int *)0x65)" (( "(") (binary_expression "piVar10 != (int *)0x65" (identifier "piVar10") (!= "!=") (cast_expression "(int *)0x65" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x65"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0xfc) <= (int)piVar12)" (( "(") (binary_expression "*(int *)(iVar6 + 0xfc) <= (int)piVar12" (pointer_expression "*(int *)(iVar6 + 0xfc)" (* "*") (cast_expression "(int *)(iVar6 + 0xfc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xfc)" (( "(") (binary_expression "iVar6 + 0xfc" (identifier "iVar6") (+ "+") (number_literal "0xfc")) () ")")))) (<= "<=") (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12"))) () ")")) (goto_statement "goto LAB_0014a978;" (goto "goto") (statement_identifier "LAB_0014a978") (; ";"))) (} "}"))) (} "}"))) (expression_statement "iVar29 = (*param_4)(iStack_a0);" (assignment_expression "iVar29 = (*param_4)(iStack_a0)" (identifier "iVar29") (= "=") (call_expression "(*param_4)(iStack_a0)" (parenthesized_expression "(*param_4)" (( "(") (pointer_expression "*param_4" (* "*") (identifier "param_4")) () ")")) (argument_list "(iStack_a0)" (( "(") (identifier "iStack_a0") () ")")))) (; ";")) (} "}"))) (expression_statement "piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();" (assignment_expression "piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))()" (identifier "piVar20") (= "=") (cast_expression "(int *)(**(code **)(puStack_b0 + -0x7ec4))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_b0 + -0x7ec4))()" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ec4))" (( "(") (pointer_expression "**(code **)(puStack_b0 + -0x7ec4)" (* "*") (pointer_expression "*(code **)(puStack_b0 + -0x7ec4)" (* "*") (cast_expression "(code **)(puStack_b0 + -0x7ec4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b0 + -0x7ec4)" (( "(") (binary_expression "puStack_b0 + -0x7ec4" (identifier "puStack_b0") (+ "+") (number_literal "-0x7ec4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "piVar12 = piVar10;" (assignment_expression "piVar12 = piVar10" (identifier "piVar12") (= "=") (identifier "piVar10")) (; ";")) (if_statement "if (piVar10 != (int *)0x0) goto LAB_0014a8bc;" (if "if") (parenthesized_expression "(piVar10 != (int *)0x0)" (( "(") (binary_expression "piVar10 != (int *)0x0" (identifier "piVar10") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0014a8bc;" (goto "goto") (statement_identifier "LAB_0014a8bc") (; ";"))) (expression_statement "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));" (call_expression "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8))" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ccc))" (( "(") (pointer_expression "**(code **)(puStack_b0 + -0x7ccc)" (* "*") (pointer_expression "*(code **)(puStack_b0 + -0x7ccc)" (* "*") (cast_expression "(code **)(puStack_b0 + -0x7ccc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b0 + -0x7ccc)" (( "(") (binary_expression "puStack_b0 + -0x7ccc" (identifier "puStack_b0") (+ "+") (number_literal "-0x7ccc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar6 + 0xf8))" (( "(") (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0xf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xf8)" (( "(") (binary_expression "iVar6 + 0xf8" (identifier "iVar6") (+ "+") (number_literal "0xf8")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar29 = *(int *)(puStack_b0 + -0x7d78);" (assignment_expression "iVar29 = *(int *)(puStack_b0 + -0x7d78)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(puStack_b0 + -0x7d78)" (* "*") (cast_expression "(int *)(puStack_b0 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_b0 + -0x7d78)" (( "(") (binary_expression "puStack_b0 + -0x7d78" (identifier "puStack_b0") (+ "+") (number_literal "-0x7d78")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0xf8) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0xf8) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0xf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xf8)" (( "(") (binary_expression "iVar6 + 0xf8" (identifier "iVar6") (+ "+") (number_literal "0xf8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)(iVar29 + -0x550))(iVar6);" (call_expression "(*(code *)(iVar29 + -0x550))(iVar6)" (parenthesized_expression "(*(code *)(iVar29 + -0x550))" (( "(") (pointer_expression "*(code *)(iVar29 + -0x550)" (* "*") (cast_expression "(code *)(iVar29 + -0x550)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + -0x550)" (( "(") (binary_expression "iVar29 + -0x550" (identifier "iVar29") (+ "+") (number_literal "-0x550")) () ")")))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (if_statement "if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {\n      piVar20 = (int *)0x0;\n    }" (if "if") (parenthesized_expression "(((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0))" (( "(") (binary_expression "((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&\n       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)" (parenthesized_expression "((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0))" (( "(") (binary_expression "(piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)" (parenthesized_expression "(piVar20 == (int *)0x0)" (( "(") (binary_expression "piVar20 == (int *)0x0" (identifier "piVar20") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pcStack_6c != (code *)0x0)" (( "(") (binary_expression "pcStack_6c != (code *)0x0" (identifier "pcStack_6c") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)" (( "(") (comma_expression "piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0" (assignment_expression "piVar20 = (int *)0x65" (identifier "piVar20") (= "=") (cast_expression "(int *)0x65" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x65"))) (, ",") (binary_expression "puVar24 == (undefined4 *)0x0" (identifier "puVar24") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      piVar20 = (int *)0x0;\n    }" ({ "{") (expression_statement "piVar20 = (int *)0x0;" (assignment_expression "piVar20 = (int *)0x0" (identifier "piVar20") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }" (else "else") (compound_statement "{\nLAB_0014a8bc:\n    piVar20 = piVar12;\n    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));\n    iVar29 = *(int *)(puStack_b0 + -0x7d78);\n    *(undefined4 *)(iVar6 + 0xf8) = 0;\n    (*(code *)(iVar29 + -0x550))(iVar6);\n  }" ({ "{") (labeled_statement "LAB_0014a8bc:\n    piVar20 = piVar12;" (statement_identifier "LAB_0014a8bc") (: ":") (expression_statement "piVar20 = piVar12;" (assignment_expression "piVar20 = piVar12" (identifier "piVar20") (= "=") (identifier "piVar12")) (; ";"))) (expression_statement "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));" (call_expression "(**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8))" (parenthesized_expression "(**(code **)(puStack_b0 + -0x7ccc))" (( "(") (pointer_expression "**(code **)(puStack_b0 + -0x7ccc)" (* "*") (pointer_expression "*(code **)(puStack_b0 + -0x7ccc)" (* "*") (cast_expression "(code **)(puStack_b0 + -0x7ccc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b0 + -0x7ccc)" (( "(") (binary_expression "puStack_b0 + -0x7ccc" (identifier "puStack_b0") (+ "+") (number_literal "-0x7ccc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar6 + 0xf8))" (( "(") (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0xf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xf8)" (( "(") (binary_expression "iVar6 + 0xf8" (identifier "iVar6") (+ "+") (number_literal "0xf8")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar29 = *(int *)(puStack_b0 + -0x7d78);" (assignment_expression "iVar29 = *(int *)(puStack_b0 + -0x7d78)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(puStack_b0 + -0x7d78)" (* "*") (cast_expression "(int *)(puStack_b0 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_b0 + -0x7d78)" (( "(") (binary_expression "puStack_b0 + -0x7d78" (identifier "puStack_b0") (+ "+") (number_literal "-0x7d78")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0xf8) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0xf8) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0xf8)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0xf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xf8)" (( "(") (binary_expression "iVar6 + 0xf8" (identifier "iVar6") (+ "+") (number_literal "0xf8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)(iVar29 + -0x550))(iVar6);" (call_expression "(*(code *)(iVar29 + -0x550))(iVar6)" (parenthesized_expression "(*(code *)(iVar29 + -0x550))" (( "(") (pointer_expression "*(code *)(iVar29 + -0x550)" (* "*") (cast_expression "(code *)(iVar29 + -0x550)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + -0x550)" (( "(") (binary_expression "iVar29 + -0x550" (identifier "iVar29") (+ "+") (number_literal "-0x550")) () ")")))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (} "}")))) (if_statement "if (piStack_9c == (int *)*piVar26) {\n    return piVar20;\n  }" (if "if") (parenthesized_expression "(piStack_9c == (int *)*piVar26)" (( "(") (binary_expression "piStack_9c == (int *)*piVar26" (identifier "piStack_9c") (== "==") (cast_expression "(int *)*piVar26" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar26" (* "*") (identifier "piVar26")))) () ")")) (compound_statement "{\n    return piVar20;\n  }" ({ "{") (return_statement "return piVar20;" (return "return") (identifier "piVar20") (; ";")) (} "}"))) (expression_statement "pcVar8 = *(code **)(puStack_b0 + -0x7b28);" (assignment_expression "pcVar8 = *(code **)(puStack_b0 + -0x7b28)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(puStack_b0 + -0x7b28)" (* "*") (cast_expression "(code **)(puStack_b0 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b0 + -0x7b28)" (( "(") (binary_expression "puStack_b0 + -0x7b28" (identifier "puStack_b0") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "uVar9 = 0x14aa90;" (assignment_expression "uVar9 = 0x14aa90" (identifier "uVar9") (= "=") (number_literal "0x14aa90")) (; ";")) (expression_statement "piVar12 = piStack_9c;" (assignment_expression "piVar12 = piStack_9c" (identifier "piVar12") (= "=") (identifier "piStack_9c")) (; ";")) (expression_statement "(*pcVar8)();" (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppiStack_f8 = &piStack_e8;" (assignment_expression "ppiStack_f8 = &piStack_e8" (identifier "ppiStack_f8") (= "=") (pointer_expression "&piStack_e8" (& "&") (identifier "piStack_e8"))) (; ";")) (expression_statement "piStack_dc = piVar20;" (assignment_expression "piStack_dc = piVar20" (identifier "piStack_dc") (= "=") (identifier "piVar20")) (; ";")) (expression_statement "pcStack_f0 = pcVar8 + 0x4de90;" (assignment_expression "pcStack_f0 = pcVar8 + 0x4de90" (identifier "pcStack_f0") (= "=") (binary_expression "pcVar8 + 0x4de90" (identifier "pcVar8") (+ "+") (number_literal "0x4de90"))) (; ";")) (expression_statement "puStack_cc = puVar25;" (assignment_expression "puStack_cc = puVar25" (identifier "puStack_cc") (= "=") (identifier "puVar25")) (; ";")) (expression_statement "pcVar19 = (code *)(piVar12 + 5);" (assignment_expression "pcVar19 = (code *)(piVar12 + 5)" (identifier "pcVar19") (= "=") (cast_expression "(code *)(piVar12 + 5)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar12 + 5)" (( "(") (binary_expression "piVar12 + 5" (identifier "piVar12") (+ "+") (number_literal "5")) () ")")))) (; ";")) (expression_statement "puStack_d4 = puVar22;" (assignment_expression "puStack_d4 = puVar22" (identifier "puStack_d4") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "uStack_c4 = uVar9;" (assignment_expression "uStack_c4 = uVar9" (identifier "uStack_c4") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "pcStack_c8 = param_4;" (assignment_expression "pcStack_c8 = param_4" (identifier "pcStack_c8") (= "=") (identifier "param_4")) (; ";")) (expression_statement "puStack_d0 = puVar24;" (assignment_expression "puStack_d0 = puVar24" (identifier "puStack_d0") (= "=") (identifier "puVar24")) (; ";")) (expression_statement "pcStack_d8 = param_1;" (assignment_expression "pcStack_d8 = param_1" (identifier "pcStack_d8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "piVar20 = *(int **)(pcVar8 + 0x46394);" (assignment_expression "piVar20 = *(int **)(pcVar8 + 0x46394)" (identifier "piVar20") (= "=") (pointer_expression "*(int **)(pcVar8 + 0x46394)" (* "*") (cast_expression "(int **)(pcVar8 + 0x46394)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar8 + 0x46394)" (( "(") (binary_expression "pcVar8 + 0x46394" (identifier "pcVar8") (+ "+") (number_literal "0x46394")) () ")"))))) (; ";")) (expression_statement "iVar16 = *piVar7;" (assignment_expression "iVar16 = *piVar7" (identifier "iVar16") (= "=") (pointer_expression "*piVar7" (* "*") (identifier "piVar7"))) (; ";")) (expression_statement "piStack_e4 = (int *)*piVar20;" (assignment_expression "piStack_e4 = (int *)*piVar20" (identifier "piStack_e4") (= "=") (cast_expression "(int *)*piVar20" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar20" (* "*") (identifier "piVar20")))) (; ";")) (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" (identifier "piVar7") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "pcVar15 = pcVar19;" (assignment_expression "pcVar15 = pcVar19" (identifier "pcVar15") (= "=") (identifier "pcVar19")) (; ";")) (expression_statement "iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();" (assignment_expression "iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))()" (identifier "iVar29") (= "=") (call_expression "(*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar8 + 0x4613c) + -0x2a6c)" (( "(") (binary_expression "*(int *)(pcVar8 + 0x4613c) + -0x2a6c" (pointer_expression "*(int *)(pcVar8 + 0x4613c)" (* "*") (cast_expression "(int *)(pcVar8 + 0x4613c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar8 + 0x4613c)" (( "(") (binary_expression "pcVar8 + 0x4613c" (identifier "pcVar8") (+ "+") (number_literal "0x4613c")) () ")")))) (+ "+") (number_literal "-0x2a6c")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar29 == 0) {\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar16 = 0;\n    param_4 = *(code **)(pcStack_f0 + -0x7ed8);\n    puVar24 = (undefined4 *)*piStack_e8;\n    ppiStack_f8 = (int **)0x0;\n    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);\n    if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n    param_1 = (code *)FUN_0014a840(puVar24,1);\n    if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }\n    uStack_f4 = 0;\n    iVar16 = -1;\n    ppiStack_f8 = (int **)0x1;\n    piVar7 = piVar12;\n    pcVar15 = pcVar19;\n    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);\n  }" ({ "{") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "param_4 = *(code **)(pcStack_f0 + -0x7ed8);" (assignment_expression "param_4 = *(code **)(pcStack_f0 + -0x7ed8)" (identifier "param_4") (= "=") (pointer_expression "*(code **)(pcStack_f0 + -0x7ed8)" (* "*") (cast_expression "(code **)(pcStack_f0 + -0x7ed8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7ed8)" (( "(") (binary_expression "pcStack_f0 + -0x7ed8" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7ed8")) () ")"))))) (; ";")) (expression_statement "puVar24 = (undefined4 *)*piStack_e8;" (assignment_expression "puVar24 = (undefined4 *)*piStack_e8" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)*piStack_e8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piStack_e8" (* "*") (identifier "piStack_e8")))) (; ";")) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" (identifier "ppiStack_f8") (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);" (assignment_expression "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" (identifier "param_1") (= "=") (cast_expression "(code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" (parenthesized_expression "(*param_4)" (( "(") (pointer_expression "*param_4" (* "*") (identifier "param_4")) () ")")) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0)" (( "(") (subscript_expression "puVar24[3]" (identifier "puVar24") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd30" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7fc4)" (( "(") (binary_expression "pcStack_f0 + -0x7fc4" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "0xd30")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (param_1 != (code *)0x0) goto LAB_0014ab6c;" (if "if") (parenthesized_expression "(param_1 != (code *)0x0)" (( "(") (binary_expression "param_1 != (code *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0014ab6c;" (goto "goto") (statement_identifier "LAB_0014ab6c") (; ";"))) (expression_statement "param_1 = (code *)FUN_0014a840(puVar24,1);" (assignment_expression "param_1 = (code *)FUN_0014a840(puVar24,1)" (identifier "param_1") (= "=") (cast_expression "(code *)FUN_0014a840(puVar24,1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0014a840(puVar24,1)" (identifier "FUN_0014a840") (argument_list "(puVar24,1)" (( "(") (identifier "puVar24") (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (param_1 == (code *)0x0) {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }\n    else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }" (if "if") (parenthesized_expression "(param_1 == (code *)0x0)" (( "(") (binary_expression "param_1 == (code *)0x0" (identifier "param_1") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n      if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n      puVar24[0x3e] = 0;\nLAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;\n    }" ({ "{") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" (identifier "ppiStack_f8") (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);" (assignment_expression "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (identifier "param_1") (= "=") (cast_expression "(code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (parenthesized_expression "(*param_4)" (( "(") (pointer_expression "*param_4" (* "*") (identifier "param_4")) () ")")) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (( "(") (subscript_expression "puVar24[3]" (identifier "puVar24") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd54" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7fc4)" (( "(") (binary_expression "pcStack_f0 + -0x7fc4" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "0xd54")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (param_1 != (code *)0x0) goto LAB_0014ab6c;" (if "if") (parenthesized_expression "(param_1 != (code *)0x0)" (( "(") (binary_expression "param_1 != (code *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0014ab6c;" (goto "goto") (statement_identifier "LAB_0014ab6c") (; ";"))) (expression_statement "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" (call_expression "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e])" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7ccc))" (( "(") (pointer_expression "**(code **)(pcStack_f0 + -0x7ccc)" (* "*") (pointer_expression "*(code **)(pcStack_f0 + -0x7ccc)" (* "*") (cast_expression "(code **)(pcStack_f0 + -0x7ccc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7ccc)" (( "(") (binary_expression "pcStack_f0 + -0x7ccc" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7ccc")) () ")"))))) () ")")) (argument_list "(puVar24[0x3e])" (( "(") (subscript_expression "puVar24[0x3e]" (identifier "puVar24") ([ "[") (number_literal "0x3e") (] "]")) () ")"))) (; ";")) (expression_statement "puVar24[0x3e] = 0;" (assignment_expression "puVar24[0x3e] = 0" (subscript_expression "puVar24[0x3e]" (identifier "puVar24") ([ "[") (number_literal "0x3e") (] "]")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0014abe4:\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;" (statement_identifier "LAB_0014abe4") (: ":") (expression_statement "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;" (assignment_expression "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64" (identifier "iVar29") (= "=") (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd64" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7fc4)" (( "(") (binary_expression "pcStack_f0 + -0x7fc4" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "0xd64"))) (; ";"))) (} "}")) (else_clause "else {\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }" (else "else") (compound_statement "{\n      iVar16 = 0;\n      ppiStack_f8 = (int **)0x0;\n      if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }\n      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;\n    }" ({ "{") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" (identifier "ppiStack_f8") (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (param_1 == (code *)0x65) {\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }\n      else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }" (if "if") (parenthesized_expression "(param_1 == (code *)0x65)" (( "(") (binary_expression "param_1 == (code *)0x65" (identifier "param_1") (== "==") (cast_expression "(code *)0x65" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x65"))) () ")")) (compound_statement "{\n        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\n        if (param_1 != (code *)0x0) goto LAB_0014ab6c;\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n      }" ({ "{") (expression_statement "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);" (assignment_expression "param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (identifier "param_1") (= "=") (cast_expression "(code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (parenthesized_expression "(*param_4)" (( "(") (pointer_expression "*param_4" (* "*") (identifier "param_4")) () ")")) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (( "(") (subscript_expression "puVar24[3]" (identifier "puVar24") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd54" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7fc4)" (( "(") (binary_expression "pcStack_f0 + -0x7fc4" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "0xd54")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (param_1 != (code *)0x0) goto LAB_0014ab6c;" (if "if") (parenthesized_expression "(param_1 != (code *)0x0)" (( "(") (binary_expression "param_1 != (code *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0014ab6c;" (goto "goto") (statement_identifier "LAB_0014ab6c") (; ";"))) (expression_statement "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" (call_expression "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e])" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7ccc))" (( "(") (pointer_expression "**(code **)(pcStack_f0 + -0x7ccc)" (* "*") (pointer_expression "*(code **)(pcStack_f0 + -0x7ccc)" (* "*") (cast_expression "(code **)(pcStack_f0 + -0x7ccc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7ccc)" (( "(") (binary_expression "pcStack_f0 + -0x7ccc" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7ccc")) () ")"))))) () ")")) (argument_list "(puVar24[0x3e])" (( "(") (subscript_expression "puVar24[0x3e]" (identifier "puVar24") ([ "[") (number_literal "0x3e") (] "]")) () ")"))) (; ";")) (expression_statement "puVar24[0x3e] = 0;" (assignment_expression "puVar24[0x3e] = 0" (subscript_expression "puVar24[0x3e]" (identifier "puVar24") ([ "[") (number_literal "0x3e") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }" (else "else") (compound_statement "{\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);\n        iVar16 = 0;\n        ppiStack_f8 = (int **)0x0;\n        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);\nLAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);\n        puVar24[0x3e] = 0;\n        if (param_1 == (code *)0x0) goto LAB_0014abe4;\n        if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }\n      }" ({ "{") (expression_statement "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);" (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40)" (parenthesized_expression "(*param_4)" (( "(") (pointer_expression "*param_4" (* "*") (identifier "param_4")) () ")")) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40)" (( "(") (subscript_expression "puVar24[3]" (identifier "puVar24") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd40" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7fc4)" (( "(") (binary_expression "pcStack_f0 + -0x7fc4" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "0xd40")) () ")"))) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppiStack_f8 = (int **)0x0;" (assignment_expression "ppiStack_f8 = (int **)0x0" (identifier "ppiStack_f8") (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);" (call_expression "(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (parenthesized_expression "(*param_4)" (( "(") (pointer_expression "*param_4" (* "*") (identifier "param_4")) () ")")) (argument_list "(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0)" (( "(") (subscript_expression "puVar24[3]" (identifier "puVar24") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd54" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7fc4)" (( "(") (binary_expression "pcStack_f0 + -0x7fc4" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "0xd54")) (, ",") (number_literal "0") () ")"))) (; ";")) (labeled_statement "LAB_0014ab6c:\n        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" (statement_identifier "LAB_0014ab6c") (: ":") (expression_statement "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);" (call_expression "(**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e])" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7ccc))" (( "(") (pointer_expression "**(code **)(pcStack_f0 + -0x7ccc)" (* "*") (pointer_expression "*(code **)(pcStack_f0 + -0x7ccc)" (* "*") (cast_expression "(code **)(pcStack_f0 + -0x7ccc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7ccc)" (( "(") (binary_expression "pcStack_f0 + -0x7ccc" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7ccc")) () ")"))))) () ")")) (argument_list "(puVar24[0x3e])" (( "(") (subscript_expression "puVar24[0x3e]" (identifier "puVar24") ([ "[") (number_literal "0x3e") (] "]")) () ")"))) (; ";"))) (expression_statement "puVar24[0x3e] = 0;" (assignment_expression "puVar24[0x3e] = 0" (subscript_expression "puVar24[0x3e]" (identifier "puVar24") ([ "[") (number_literal "0x3e") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_1 == (code *)0x0) goto LAB_0014abe4;" (if "if") (parenthesized_expression "(param_1 == (code *)0x0)" (( "(") (binary_expression "param_1 == (code *)0x0" (identifier "param_1") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0014abe4;" (goto "goto") (statement_identifier "LAB_0014abe4") (; ";"))) (if_statement "if (param_1 != (code *)0x65) {\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }" (if "if") (parenthesized_expression "(param_1 != (code *)0x65)" (( "(") (binary_expression "param_1 != (code *)0x65" (identifier "param_1") (!= "!=") (cast_expression "(code *)0x65" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x65"))) () ")")) (compound_statement "{\n          piVar7 = piVar12;\n          pcVar15 = param_1;\n          (**(code **)(pcStack_f0 + -0x7f4c))();\n          goto LAB_0014ab04;\n        }" ({ "{") (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" (identifier "piVar7") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "pcVar15 = param_1;" (assignment_expression "pcVar15 = param_1" (identifier "pcVar15") (= "=") (identifier "param_1")) (; ";")) (expression_statement "(**(code **)(pcStack_f0 + -0x7f4c))();" (call_expression "(**(code **)(pcStack_f0 + -0x7f4c))()" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7f4c))" (( "(") (pointer_expression "**(code **)(pcStack_f0 + -0x7f4c)" (* "*") (pointer_expression "*(code **)(pcStack_f0 + -0x7f4c)" (* "*") (cast_expression "(code **)(pcStack_f0 + -0x7f4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7f4c)" (( "(") (binary_expression "pcStack_f0 + -0x7f4c" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7f4c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0014ab04;" (goto "goto") (statement_identifier "LAB_0014ab04") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;" (assignment_expression "iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74" (identifier "iVar29") (= "=") (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + 0xd74" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7fc4)" (( "(") (binary_expression "pcStack_f0 + -0x7fc4" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "0xd74"))) (; ";")) (} "}")))) (expression_statement "uStack_f4 = 0;" (assignment_expression "uStack_f4 = 0" (identifier "uStack_f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar16 = -1;" (assignment_expression "iVar16 = -1" (identifier "iVar16") (= "=") (number_literal "-1")) (; ";")) (expression_statement "ppiStack_f8 = (int **)0x1;" (assignment_expression "ppiStack_f8 = (int **)0x1" (identifier "ppiStack_f8") (= "=") (cast_expression "(int **)0x1" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" (identifier "piVar7") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "pcVar15 = pcVar19;" (assignment_expression "pcVar15 = pcVar19" (identifier "pcVar15") (= "=") (identifier "pcVar19")) (; ";")) (expression_statement "(*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);" (call_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))" (( "(") (pointer_expression "*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0)" (* "*") (cast_expression "(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0)" (( "(") (binary_expression "*(int *)(pcStack_f0 + -0x7d60) + -0x13c0" (pointer_expression "*(int *)(pcStack_f0 + -0x7d60)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7d60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7d60)" (( "(") (binary_expression "pcStack_f0 + -0x7d60" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7d60")) () ")")))) (+ "+") (number_literal "-0x13c0")) () ")")))) () ")")) (argument_list "(piVar12,pcVar19,iVar29)" (( "(") (identifier "piVar12") (, ",") (identifier "pcVar19") (, ",") (identifier "iVar29") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0014ab04:\n  if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }" (statement_identifier "LAB_0014ab04") (: ":") (if_statement "if (piStack_e4 == (int *)*piVar20) {\n    return (int *)*piVar20;\n  }" (if "if") (parenthesized_expression "(piStack_e4 == (int *)*piVar20)" (( "(") (binary_expression "piStack_e4 == (int *)*piVar20" (identifier "piStack_e4") (== "==") (cast_expression "(int *)*piVar20" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar20" (* "*") (identifier "piVar20")))) () ")")) (compound_statement "{\n    return (int *)*piVar20;\n  }" ({ "{") (return_statement "return (int *)*piVar20;" (return "return") (cast_expression "(int *)*piVar20" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar20" (* "*") (identifier "piVar20"))) (; ";")) (} "}")))) (expression_statement "pcVar8 = *(code **)(pcStack_f0 + -0x7b28);" (assignment_expression "pcVar8 = *(code **)(pcStack_f0 + -0x7b28)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcStack_f0 + -0x7b28)" (* "*") (cast_expression "(code **)(pcStack_f0 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7b28)" (( "(") (binary_expression "pcStack_f0 + -0x7b28" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "uVar32 = 0x14ace0;" (assignment_expression "uVar32 = 0x14ace0" (identifier "uVar32") (= "=") (number_literal "0x14ace0")) (; ";")) (expression_statement "(*pcVar8)();" (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppiVar13 = ppiStack_f8;" (assignment_expression "ppiVar13 = ppiStack_f8" (identifier "ppiVar13") (= "=") (identifier "ppiStack_f8")) (; ";")) (expression_statement "pcStack_138 = pcVar8 + 0x4dc40;" (assignment_expression "pcStack_138 = pcVar8 + 0x4dc40" (identifier "pcStack_138") (= "=") (binary_expression "pcVar8 + 0x4dc40" (identifier "pcVar8") (+ "+") (number_literal "0x4dc40"))) (; ";")) (expression_statement "piVar23 = piVar7 + 1;" (assignment_expression "piVar23 = piVar7 + 1" (identifier "piVar23") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(*piVar7 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(*piVar7 + 0xc)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(*piVar7 + 0xc)" (* "*") (cast_expression "(undefined4 *)(*piVar7 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar7 + 0xc)" (( "(") (binary_expression "*piVar7 + 0xc" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "pcStack_12c = (code *)piVar20;" (assignment_expression "pcStack_12c = (code *)piVar20" (identifier "pcStack_12c") (= "=") (cast_expression "(code *)piVar20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar20"))) (; ";")) (expression_statement "pcStack_128 = param_1;" (assignment_expression "pcStack_128 = param_1" (identifier "pcStack_128") (= "=") (identifier "param_1")) (; ";")) (expression_statement "piStack_124 = piVar12;" (assignment_expression "piStack_124 = piVar12" (identifier "piStack_124") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "pcStack_120 = (code *)puVar24;" (assignment_expression "pcStack_120 = (code *)puVar24" (identifier "pcStack_120") (= "=") (cast_expression "(code *)puVar24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar24"))) (; ";")) (expression_statement "pcStack_11c = pcVar19;" (assignment_expression "pcStack_11c = pcVar19" (identifier "pcStack_11c") (= "=") (identifier "pcVar19")) (; ";")) (expression_statement "pcStack_118 = param_4;" (assignment_expression "pcStack_118 = param_4" (identifier "pcStack_118") (= "=") (identifier "param_4")) (; ";")) (expression_statement "piStack_114 = piVar26;" (assignment_expression "piStack_114 = piVar26" (identifier "piStack_114") (= "=") (identifier "piVar26")) (; ";")) (expression_statement "piStack_110 = piVar10;" (assignment_expression "piStack_110 = piVar10" (identifier "piStack_110") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "uStack_10c = uVar32;" (assignment_expression "uStack_10c = uVar32" (identifier "uStack_10c") (= "=") (identifier "uVar32")) (; ";")) (if_statement "if (pcVar15 == (code *)0x1) {\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }\n  else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }" (if "if") (parenthesized_expression "(pcVar15 == (code *)0x1)" (( "(") (binary_expression "pcVar15 == (code *)0x1" (identifier "pcVar15") (== "==") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n    if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\nLAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);\n    if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }\n  }" ({ "{") (if_statement "if (iVar16 < 2) {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }\n    else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" (if "if") (parenthesized_expression "(iVar16 < 2)" (( "(") (binary_expression "iVar16 < 2" (identifier "iVar16") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" ({ "{") (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" (identifier "pcVar15") (= "=") (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" (* "*") (cast_expression "(code **)(pcVar8 + 0x45c8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar8 + 0x45c8c)" (( "(") (binary_expression "pcVar8 + 0x45c8c" (identifier "pcVar8") (+ "+") (number_literal "0x45c8c")) () ")"))))) (; ";")) (expression_statement "iVar31 = -1;" (assignment_expression "iVar31 = -1" (identifier "iVar31") (= "=") (number_literal "-1")) (; ";")) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" (identifier "uVar32") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);" (call_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" (* "*") (cast_expression "(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" (( "(") (binary_expression "*(int *)(pcVar8 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" (* "*") (cast_expression "(int *)(pcVar8 + 0x45ef0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar8 + 0x45ef0)" (( "(") (binary_expression "pcVar8 + 0x45ef0" (identifier "pcVar8") (+ "+") (number_literal "0x45ef0")) () ")")))) (+ "+") (number_literal "-0x5eb4")) () ")")))) () ")")) (argument_list "(piVar23)" (( "(") (identifier "piVar23") () ")"))) (; ";")) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(piVar7[0xf])" (( "(") (subscript_expression "piVar7[0xf]" (identifier "piVar7") ([ "[") (number_literal "0xf") (] "]")) () ")"))) (; ";")) (expression_statement "iVar29 = -1;" (assignment_expression "iVar29 = -1" (identifier "iVar29") (= "=") (number_literal "-1")) (; ";")) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(piVar7[0x1c])" (( "(") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" (( "(") (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" (* "*") (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" (* "*") (cast_expression "(code **)(pcStack_138 + -0x7bc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_138 + -0x7bc8)" (( "(") (binary_expression "pcStack_138 + -0x7bc8" (identifier "pcStack_138") (+ "+") (number_literal "-0x7bc8")) () ")"))))) () ")")) (argument_list "(piVar23,0,0x74)" (( "(") (identifier "piVar23") (, ",") (number_literal "0") (, ",") (number_literal "0x74") () ")"))) (; ";")) (expression_statement "piVar7[0x12] = 3;" (assignment_expression "piVar7[0x12] = 3" (subscript_expression "piVar7[0x12]" (identifier "piVar7") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else {\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" (else "else") (compound_statement "{\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      iVar31 = -1;\n      uVar32 = 0;\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = 1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 3;\n    }" ({ "{") (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" (identifier "pcVar15") (= "=") (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" (* "*") (cast_expression "(code **)(pcVar8 + 0x45c8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar8 + 0x45c8c)" (( "(") (binary_expression "pcVar8 + 0x45c8c" (identifier "pcVar8") (+ "+") (number_literal "0x45c8c")) () ")"))))) (; ";")) (expression_statement "iVar31 = -1;" (assignment_expression "iVar31 = -1" (identifier "iVar31") (= "=") (number_literal "-1")) (; ";")) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" (identifier "uVar32") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);" (call_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" (* "*") (cast_expression "(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" (( "(") (binary_expression "*(int *)(pcVar8 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" (* "*") (cast_expression "(int *)(pcVar8 + 0x45ef0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar8 + 0x45ef0)" (( "(") (binary_expression "pcVar8 + 0x45ef0" (identifier "pcVar8") (+ "+") (number_literal "0x45ef0")) () ")")))) (+ "+") (number_literal "-0x5eb4")) () ")")))) () ")")) (argument_list "(piVar23)" (( "(") (identifier "piVar23") () ")"))) (; ";")) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(piVar7[0xf])" (( "(") (subscript_expression "piVar7[0xf]" (identifier "piVar7") ([ "[") (number_literal "0xf") (] "]")) () ")"))) (; ";")) (expression_statement "iVar29 = 1;" (assignment_expression "iVar29 = 1" (identifier "iVar29") (= "=") (number_literal "1")) (; ";")) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(piVar7[0x1c])" (( "(") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" (( "(") (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" (* "*") (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" (* "*") (cast_expression "(code **)(pcStack_138 + -0x7bc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_138 + -0x7bc8)" (( "(") (binary_expression "pcStack_138 + -0x7bc8" (identifier "pcStack_138") (+ "+") (number_literal "-0x7bc8")) () ")"))))) () ")")) (argument_list "(piVar23,0,0x74)" (( "(") (identifier "piVar23") (, ",") (number_literal "0") (, ",") (number_literal "0x74") () ")"))) (; ";")) (expression_statement "piVar7[0x12] = 3;" (assignment_expression "piVar7[0x12] = 3" (subscript_expression "piVar7[0x12]" (identifier "piVar7") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "3")) (; ";")) (} "}")))) (labeled_statement "LAB_0014adbc:\n    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);" (statement_identifier "LAB_0014adbc") (: ":") (expression_statement "iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);" (assignment_expression "iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1)" (identifier "iVar16") (= "=") (call_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))" (( "(") (pointer_expression "*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" (* "*") (cast_expression "(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" (( "(") (binary_expression "*(int *)(pcStack_138 + -0x7d60) + 0x6f60" (pointer_expression "*(int *)(pcStack_138 + -0x7d60)" (* "*") (cast_expression "(int *)(pcStack_138 + -0x7d60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_138 + -0x7d60)" (( "(") (binary_expression "pcStack_138 + -0x7d60" (identifier "pcStack_138") (+ "+") (number_literal "-0x7d60")) () ")")))) (+ "+") (number_literal "0x6f60")) () ")")))) () ")")) (argument_list "(*ppiVar13,1)" (( "(") (pointer_expression "*ppiVar13" (* "*") (identifier "ppiVar13")) (, ",") (number_literal "1") () ")")))) (; ";"))) (if_statement "if (iVar16 != 0) {\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);\n      piVar7[0xf] = iVar16;\n      if (iVar16 == 0) goto LAB_0014b0b0;\n      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n      piVar7[0x10] = iVar16;\n    }" ({ "{") (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcStack_138 + -0x7fbc))\n                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7fbc))" (( "(") (pointer_expression "**(code **)(pcStack_138 + -0x7fbc)" (* "*") (pointer_expression "*(code **)(pcStack_138 + -0x7fbc)" (* "*") (cast_expression "(code **)(pcStack_138 + -0x7fbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_138 + -0x7fbc)" (( "(") (binary_expression "pcStack_138 + -0x7fbc" (identifier "pcStack_138") (+ "+") (number_literal "-0x7fbc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16)" (( "(") (binary_expression "*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc" (pointer_expression "*(int *)(pcStack_138 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_138 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_138 + -0x7fc4)" (( "(") (binary_expression "pcStack_138 + -0x7fc4" (identifier "pcStack_138") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x5dfc")) (, ",") (identifier "iVar16") () ")")))) (; ";")) (expression_statement "piVar7[0xf] = iVar16;" (assignment_expression "piVar7[0xf] = iVar16" (subscript_expression "piVar7[0xf]" (identifier "piVar7") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "iVar16")) (; ";")) (if_statement "if (iVar16 == 0) goto LAB_0014b0b0;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014b0b0;" (goto "goto") (statement_identifier "LAB_0014b0b0") (; ";"))) (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcStack_138 + -0x7ba0))(iVar16)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7ba0))" (( "(") (pointer_expression "**(code **)(pcStack_138 + -0x7ba0)" (* "*") (pointer_expression "*(code **)(pcStack_138 + -0x7ba0)" (* "*") (cast_expression "(code **)(pcStack_138 + -0x7ba0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_138 + -0x7ba0)" (( "(") (binary_expression "pcStack_138 + -0x7ba0" (identifier "pcStack_138") (+ "+") (number_literal "-0x7ba0")) () ")"))))) () ")")) (argument_list "(iVar16)" (( "(") (identifier "iVar16") () ")")))) (; ";")) (expression_statement "piVar7[0x10] = iVar16;" (assignment_expression "piVar7[0x10] = iVar16" (subscript_expression "piVar7[0x10]" (identifier "piVar7") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "iVar16")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }" (else "else") (compound_statement "{\n    if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    uVar32 = 1;\n    if (iVar27 == 0) goto LAB_0014adbc;\n  }" ({ "{") (if_statement "if (((uint)pcVar15 & 2) == 0) {\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }\n    else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" (if "if") (parenthesized_expression "(((uint)pcVar15 & 2) == 0)" (( "(") (binary_expression "((uint)pcVar15 & 2) == 0" (parenthesized_expression "((uint)pcVar15 & 2)" (( "(") (binary_expression "(uint)pcVar15 & 2" (cast_expression "(uint)pcVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar15")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar27 = -1;\n      iVar29 = 0;\n      iVar31 = 0;\n      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;\nLAB_0014ad4c:\n      iVar29 = iVar31 + 1;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\n      if (iVar29 < iVar16) goto LAB_0014aeb4;\nLAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      iVar29 = -1;\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" ({ "{") (expression_statement "iVar27 = -1;" (assignment_expression "iVar27 = -1" (identifier "iVar27") (= "=") (number_literal "-1")) (; ";")) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" (identifier "iVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" (identifier "iVar31") (= "=") (number_literal "0")) (; ";")) (if_statement "if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;" (if "if") (parenthesized_expression "(((uint)pcVar15 & 4) == 0)" (( "(") (binary_expression "((uint)pcVar15 & 4) == 0" (parenthesized_expression "((uint)pcVar15 & 4)" (( "(") (binary_expression "(uint)pcVar15 & 4" (cast_expression "(uint)pcVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar15")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014aea4;" (goto "goto") (statement_identifier "LAB_0014aea4") (; ";"))) (labeled_statement "LAB_0014ad4c:\n      iVar29 = iVar31 + 1;" (statement_identifier "LAB_0014ad4c") (: ":") (expression_statement "iVar29 = iVar31 + 1;" (assignment_expression "iVar29 = iVar31 + 1" (identifier "iVar29") (= "=") (binary_expression "iVar31 + 1" (identifier "iVar31") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "iVar30 = *(int *)(pcVar8 + 0x45ef0);" (assignment_expression "iVar30 = *(int *)(pcVar8 + 0x45ef0)" (identifier "iVar30") (= "=") (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" (* "*") (cast_expression "(int *)(pcVar8 + 0x45ef0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar8 + 0x45ef0)" (( "(") (binary_expression "pcVar8 + 0x45ef0" (identifier "pcVar8") (+ "+") (number_literal "0x45ef0")) () ")"))))) (; ";")) (if_statement "if (iVar29 < iVar16) goto LAB_0014aeb4;" (if "if") (parenthesized_expression "(iVar29 < iVar16)" (( "(") (binary_expression "iVar29 < iVar16" (identifier "iVar29") (< "<") (identifier "iVar16")) () ")")) (goto_statement "goto LAB_0014aeb4;" (goto "goto") (statement_identifier "LAB_0014aeb4") (; ";"))) (labeled_statement "LAB_0014ad60:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (statement_identifier "LAB_0014ad60") (: ":") (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" (identifier "pcVar15") (= "=") (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" (* "*") (cast_expression "(code **)(pcVar8 + 0x45c8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar8 + 0x45c8c)" (( "(") (binary_expression "pcVar8 + 0x45c8c" (identifier "pcVar8") (+ "+") (number_literal "0x45c8c")) () ")"))))) (; ";"))) (expression_statement "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);" (call_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" (* "*") (cast_expression "(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4)" (( "(") (binary_expression "*(int *)(pcVar8 + 0x45ef0) + -0x5eb4" (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" (* "*") (cast_expression "(int *)(pcVar8 + 0x45ef0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar8 + 0x45ef0)" (( "(") (binary_expression "pcVar8 + 0x45ef0" (identifier "pcVar8") (+ "+") (number_literal "0x45ef0")) () ")")))) (+ "+") (number_literal "-0x5eb4")) () ")")))) () ")")) (argument_list "(piVar23)" (( "(") (identifier "piVar23") () ")"))) (; ";")) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(piVar7[0xf])" (( "(") (subscript_expression "piVar7[0xf]" (identifier "piVar7") ([ "[") (number_literal "0xf") (] "]")) () ")"))) (; ";")) (expression_statement "iVar29 = -1;" (assignment_expression "iVar29 = -1" (identifier "iVar29") (= "=") (number_literal "-1")) (; ";")) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(piVar7[0x1c])" (( "(") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" (( "(") (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" (* "*") (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" (* "*") (cast_expression "(code **)(pcStack_138 + -0x7bc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_138 + -0x7bc8)" (( "(") (binary_expression "pcStack_138 + -0x7bc8" (identifier "pcStack_138") (+ "+") (number_literal "-0x7bc8")) () ")"))))) () ")")) (argument_list "(piVar23,0,0x74)" (( "(") (identifier "piVar23") (, ",") (number_literal "0") (, ",") (number_literal "0x74") () ")"))) (; ";")) (expression_statement "piVar7[0x12] = 0x13;" (assignment_expression "piVar7[0x12] = 0x13" (subscript_expression "piVar7[0x12]" (identifier "piVar7") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0x13")) (; ";")) (} "}")) (else_clause "else {\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" (else "else") (compound_statement "{\n      iVar29 = 1;\n      iVar27 = 0;\n      iVar31 = iVar29;\n      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;\nLAB_0014aea4:\n      iVar31 = -1;\n      if (iVar16 <= iVar29) goto LAB_0014ad60;\n      iVar30 = *(int *)(pcVar8 + 0x45ef0);\nLAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);\n      (*(code *)(iVar30 + -0x5eb4))(piVar23);\n      (*pcVar15)(piVar7[0xf]);\n      (*pcVar15)(piVar7[0x1c]);\n      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);\n      piVar7[0x12] = 0x13;\n    }" ({ "{") (expression_statement "iVar29 = 1;" (assignment_expression "iVar29 = 1" (identifier "iVar29") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar31 = iVar29;" (assignment_expression "iVar31 = iVar29" (identifier "iVar31") (= "=") (identifier "iVar29")) (; ";")) (if_statement "if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;" (if "if") (parenthesized_expression "(((uint)pcVar15 & 4) != 0)" (( "(") (binary_expression "((uint)pcVar15 & 4) != 0" (parenthesized_expression "((uint)pcVar15 & 4)" (( "(") (binary_expression "(uint)pcVar15 & 4" (cast_expression "(uint)pcVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar15")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014ad4c;" (goto "goto") (statement_identifier "LAB_0014ad4c") (; ";"))) (labeled_statement "LAB_0014aea4:\n      iVar31 = -1;" (statement_identifier "LAB_0014aea4") (: ":") (expression_statement "iVar31 = -1;" (assignment_expression "iVar31 = -1" (identifier "iVar31") (= "=") (number_literal "-1")) (; ";"))) (if_statement "if (iVar16 <= iVar29) goto LAB_0014ad60;" (if "if") (parenthesized_expression "(iVar16 <= iVar29)" (( "(") (binary_expression "iVar16 <= iVar29" (identifier "iVar16") (<= "<=") (identifier "iVar29")) () ")")) (goto_statement "goto LAB_0014ad60;" (goto "goto") (statement_identifier "LAB_0014ad60") (; ";"))) (expression_statement "iVar30 = *(int *)(pcVar8 + 0x45ef0);" (assignment_expression "iVar30 = *(int *)(pcVar8 + 0x45ef0)" (identifier "iVar30") (= "=") (pointer_expression "*(int *)(pcVar8 + 0x45ef0)" (* "*") (cast_expression "(int *)(pcVar8 + 0x45ef0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar8 + 0x45ef0)" (( "(") (binary_expression "pcVar8 + 0x45ef0" (identifier "pcVar8") (+ "+") (number_literal "0x45ef0")) () ")"))))) (; ";")) (labeled_statement "LAB_0014aeb4:\n      pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (statement_identifier "LAB_0014aeb4") (: ":") (expression_statement "pcVar15 = *(code **)(pcVar8 + 0x45c8c);" (assignment_expression "pcVar15 = *(code **)(pcVar8 + 0x45c8c)" (identifier "pcVar15") (= "=") (pointer_expression "*(code **)(pcVar8 + 0x45c8c)" (* "*") (cast_expression "(code **)(pcVar8 + 0x45c8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar8 + 0x45c8c)" (( "(") (binary_expression "pcVar8 + 0x45c8c" (identifier "pcVar8") (+ "+") (number_literal "0x45c8c")) () ")"))))) (; ";"))) (expression_statement "(*(code *)(iVar30 + -0x5eb4))(piVar23);" (call_expression "(*(code *)(iVar30 + -0x5eb4))(piVar23)" (parenthesized_expression "(*(code *)(iVar30 + -0x5eb4))" (( "(") (pointer_expression "*(code *)(iVar30 + -0x5eb4)" (* "*") (cast_expression "(code *)(iVar30 + -0x5eb4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + -0x5eb4)" (( "(") (binary_expression "iVar30 + -0x5eb4" (identifier "iVar30") (+ "+") (number_literal "-0x5eb4")) () ")")))) () ")")) (argument_list "(piVar23)" (( "(") (identifier "piVar23") () ")"))) (; ";")) (expression_statement "(*pcVar15)(piVar7[0xf]);" (call_expression "(*pcVar15)(piVar7[0xf])" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(piVar7[0xf])" (( "(") (subscript_expression "piVar7[0xf]" (identifier "piVar7") ([ "[") (number_literal "0xf") (] "]")) () ")"))) (; ";")) (expression_statement "(*pcVar15)(piVar7[0x1c]);" (call_expression "(*pcVar15)(piVar7[0x1c])" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(piVar7[0x1c])" (( "(") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);" (call_expression "(**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7bc8))" (( "(") (pointer_expression "**(code **)(pcStack_138 + -0x7bc8)" (* "*") (pointer_expression "*(code **)(pcStack_138 + -0x7bc8)" (* "*") (cast_expression "(code **)(pcStack_138 + -0x7bc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_138 + -0x7bc8)" (( "(") (binary_expression "pcStack_138 + -0x7bc8" (identifier "pcStack_138") (+ "+") (number_literal "-0x7bc8")) () ")"))))) () ")")) (argument_list "(piVar23,0,0x74)" (( "(") (identifier "piVar23") (, ",") (number_literal "0") (, ",") (number_literal "0x74") () ")"))) (; ";")) (expression_statement "piVar7[0x12] = 0x13;" (assignment_expression "piVar7[0x12] = 0x13" (subscript_expression "piVar7[0x12]" (identifier "piVar7") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0x13")) (; ";")) (} "}")))) (expression_statement "uVar32 = 1;" (assignment_expression "uVar32 = 1" (identifier "uVar32") (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar27 == 0) goto LAB_0014adbc;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014adbc;" (goto "goto") (statement_identifier "LAB_0014adbc") (; ";"))) (} "}")))) (if_statement "if (iVar31 == -1) {\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }\n  else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }" (if "if") (parenthesized_expression "(iVar31 == -1)" (( "(") (binary_expression "iVar31 == -1" (identifier "iVar31") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    if (iVar29 != -1) goto LAB_0014af60;\nLAB_0014ae20:\n    iVar29 = 0;\n  }" ({ "{") (if_statement "if (iVar29 != -1) goto LAB_0014af60;" (if "if") (parenthesized_expression "(iVar29 != -1)" (( "(") (binary_expression "iVar29 != -1" (identifier "iVar29") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0014af60;" (goto "goto") (statement_identifier "LAB_0014af60") (; ";"))) (labeled_statement "LAB_0014ae20:\n    iVar29 = 0;" (statement_identifier "LAB_0014ae20") (: ":") (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" (identifier "iVar29") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }" (else "else") (compound_statement "{\n    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);\n    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);\n    piVar7[0x13] = iVar16;\n    if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }\n    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);\n    piVar7[0x14] = iVar16;\n    if (iVar29 == -1) goto LAB_0014ae20;\nLAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);\n    iVar29 = extraout_v1;\n    if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }\n  }" ({ "{") (expression_statement "uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);" (assignment_expression "uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1)" (identifier "uVar11") (= "=") (call_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))" (( "(") (pointer_expression "*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" (* "*") (cast_expression "(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d60) + 0x6f60)" (( "(") (binary_expression "*(int *)(pcStack_138 + -0x7d60) + 0x6f60" (pointer_expression "*(int *)(pcStack_138 + -0x7d60)" (* "*") (cast_expression "(int *)(pcStack_138 + -0x7d60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_138 + -0x7d60)" (( "(") (binary_expression "pcStack_138 + -0x7d60" (identifier "pcStack_138") (+ "+") (number_literal "-0x7d60")) () ")")))) (+ "+") (number_literal "0x6f60")) () ")")))) () ")")) (argument_list "(ppiVar13[iVar31],1)" (( "(") (subscript_expression "ppiVar13[iVar31]" (identifier "ppiVar13") ([ "[") (identifier "iVar31") (] "]")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7fbc))" (( "(") (pointer_expression "**(code **)(pcStack_138 + -0x7fbc)" (* "*") (pointer_expression "*(code **)(pcStack_138 + -0x7fbc)" (* "*") (cast_expression "(code **)(pcStack_138 + -0x7fbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_138 + -0x7fbc)" (( "(") (binary_expression "pcStack_138 + -0x7fbc" (identifier "pcStack_138") (+ "+") (number_literal "-0x7fbc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11)" (( "(") (binary_expression "*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc" (pointer_expression "*(int *)(pcStack_138 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_138 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_138 + -0x7fc4)" (( "(") (binary_expression "pcStack_138 + -0x7fc4" (identifier "pcStack_138") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x5dfc")) (, ",") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "piVar7[0x13] = iVar16;" (assignment_expression "piVar7[0x13] = iVar16" (subscript_expression "piVar7[0x13]" (identifier "piVar7") ([ "[") (number_literal "0x13") (] "]")) (= "=") (identifier "iVar16")) (; ";")) (if_statement "if (iVar16 == 0) {\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0014b0b0:\n      return (int *)&DAT_00000007;\n    }" ({ "{") (labeled_statement "LAB_0014b0b0:\n      return (int *)&DAT_00000007;" (statement_identifier "LAB_0014b0b0") (: ":") (return_statement "return (int *)&DAT_00000007;" (return "return") (cast_expression "(int *)&DAT_00000007" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007"))) (; ";"))) (} "}"))) (expression_statement "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);" (assignment_expression "iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcStack_138 + -0x7ba0))(iVar16)" (parenthesized_expression "(**(code **)(pcStack_138 + -0x7ba0))" (( "(") (pointer_expression "**(code **)(pcStack_138 + -0x7ba0)" (* "*") (pointer_expression "*(code **)(pcStack_138 + -0x7ba0)" (* "*") (cast_expression "(code **)(pcStack_138 + -0x7ba0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_138 + -0x7ba0)" (( "(") (binary_expression "pcStack_138 + -0x7ba0" (identifier "pcStack_138") (+ "+") (number_literal "-0x7ba0")) () ")"))))) () ")")) (argument_list "(iVar16)" (( "(") (identifier "iVar16") () ")")))) (; ";")) (expression_statement "piVar7[0x14] = iVar16;" (assignment_expression "piVar7[0x14] = iVar16" (subscript_expression "piVar7[0x14]" (identifier "piVar7") ([ "[") (number_literal "0x14") (] "]")) (= "=") (identifier "iVar16")) (; ";")) (if_statement "if (iVar29 == -1) goto LAB_0014ae20;" (if "if") (parenthesized_expression "(iVar29 == -1)" (( "(") (binary_expression "iVar29 == -1" (identifier "iVar29") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0014ae20;" (goto "goto") (statement_identifier "LAB_0014ae20") (; ";"))) (labeled_statement "LAB_0014af60:\n    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);" (statement_identifier "LAB_0014af60") (: ":") (expression_statement "(*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);" (call_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29])" (parenthesized_expression "(*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))" (( "(") (pointer_expression "*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68)" (* "*") (cast_expression "(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d78) + 0x7f68)" (( "(") (binary_expression "*(int *)(pcStack_138 + -0x7d78) + 0x7f68" (pointer_expression "*(int *)(pcStack_138 + -0x7d78)" (* "*") (cast_expression "(int *)(pcStack_138 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_138 + -0x7d78)" (( "(") (binary_expression "pcStack_138 + -0x7d78" (identifier "pcStack_138") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "0x7f68")) () ")")))) () ")")) (argument_list "(ppiVar13[iVar29])" (( "(") (subscript_expression "ppiVar13[iVar29]" (identifier "ppiVar13") ([ "[") (identifier "iVar29") (] "]")) () ")"))) (; ";"))) (expression_statement "iVar29 = extraout_v1;" (assignment_expression "iVar29 = extraout_v1" (identifier "iVar29") (= "=") (identifier "extraout_v1")) (; ";")) (if_statement "if (extraout_v1 < 0) {\n      iVar29 = 0;\n    }" (if "if") (parenthesized_expression "(extraout_v1 < 0)" (( "(") (binary_expression "extraout_v1 < 0" (identifier "extraout_v1") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      iVar29 = 0;\n    }" ({ "{") (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" (identifier "iVar29") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar7[0x15] = iVar29;" (assignment_expression "piVar7[0x15] = iVar29" (subscript_expression "piVar7[0x15]" (identifier "piVar7") ([ "[") (number_literal "0x15") (] "]")) (= "=") (identifier "iVar29")) (; ";")) (expression_statement "piStack_140 = piVar23;" (assignment_expression "piStack_140 = piVar23" (identifier "piStack_140") (= "=") (identifier "piVar23")) (; ";")) (expression_statement "piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);" (assignment_expression "piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" (identifier "piVar10") (= "=") (cast_expression "(int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" (identifier "FUN_001326ac") (argument_list "(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32)" (( "(") (identifier "uVar9") (, ",") (identifier "iVar29") (, ",") (number_literal "0") (, ",") (number_literal "0xfffffffe") (, ",") (subscript_expression "piVar7[0xf]" (identifier "piVar7") ([ "[") (number_literal "0xf") (] "]")) (, ",") (subscript_expression "piVar7[0x10]" (identifier "piVar7") ([ "[") (number_literal "0x10") (] "]")) (, ",") (number_literal "0") (, ",") (identifier "uVar32") () ")"))))) (; ";")) (if_statement "if (piVar10 != (int *)0x0) {\n    return piVar10;\n  }" (if "if") (parenthesized_expression "(piVar10 != (int *)0x0)" (( "(") (binary_expression "piVar10 != (int *)0x0" (identifier "piVar10") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return piVar10;\n  }" ({ "{") (return_statement "return piVar10;" (return "return") (identifier "piVar10") (; ";")) (} "}"))) (expression_statement "iVar29 = piVar7[0x10];" (assignment_expression "iVar29 = piVar7[0x10]" (identifier "iVar29") (= "=") (subscript_expression "piVar7[0x10]" (identifier "piVar7") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "piVar7[4] = (int)(piVar7 + 0xf);" (assignment_expression "piVar7[4] = (int)(piVar7 + 0xf)" (subscript_expression "piVar7[4]" (identifier "piVar7") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(int)(piVar7 + 0xf)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar7 + 0xf)" (( "(") (binary_expression "piVar7 + 0xf" (identifier "piVar7") (+ "+") (number_literal "0xf")) () ")")))) (; ";")) (expression_statement "piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);" (assignment_expression "piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29)" (identifier "piVar26") (= "=") (cast_expression "(int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29)" (identifier "FUN_00148c40") (argument_list "(uVar9,piVar23,piVar7[0xf],iVar29)" (( "(") (identifier "uVar9") (, ",") (identifier "piVar23") (, ",") (subscript_expression "piVar7[0xf]" (identifier "piVar7") ([ "[") (number_literal "0xf") (] "]")) (, ",") (identifier "iVar29") () ")"))))) (; ";")) (expression_statement "piVar12 = piStack_114;" (assignment_expression "piVar12 = piStack_114" (identifier "piVar12") (= "=") (identifier "piStack_114")) (; ";")) (expression_statement "pcVar4 = pcStack_118;" (assignment_expression "pcVar4 = pcStack_118" (identifier "pcVar4") (= "=") (identifier "pcStack_118")) (; ";")) (expression_statement "pcVar8 = pcStack_11c;" (assignment_expression "pcVar8 = pcStack_11c" (identifier "pcVar8") (= "=") (identifier "pcStack_11c")) (; ";")) (expression_statement "pcVar19 = pcStack_120;" (assignment_expression "pcVar19 = pcStack_120" (identifier "pcVar19") (= "=") (identifier "pcStack_120")) (; ";")) (expression_statement "piVar10 = piStack_124;" (assignment_expression "piVar10 = piStack_124" (identifier "piVar10") (= "=") (identifier "piStack_124")) (; ";")) (expression_statement "pcVar15 = pcStack_128;" (assignment_expression "pcVar15 = pcStack_128" (identifier "pcVar15") (= "=") (identifier "pcStack_128")) (; ";")) (if_statement "if (piVar26 != (int *)0x0) {\n    return piVar26;\n  }" (if "if") (parenthesized_expression "(piVar26 != (int *)0x0)" (( "(") (binary_expression "piVar26 != (int *)0x0" (identifier "piVar26") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return piVar26;\n  }" ({ "{") (return_statement "return piVar26;" (return "return") (identifier "piVar26") (; ";")) (} "}"))) (expression_statement "iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;" (assignment_expression "iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920" (identifier "iVar31") (= "=") (binary_expression "*(int *)(pcStack_138 + -0x7d6c) + 0x48920" (pointer_expression "*(int *)(pcStack_138 + -0x7d6c)" (* "*") (cast_expression "(int *)(pcStack_138 + -0x7d6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_138 + -0x7d6c)" (( "(") (binary_expression "pcStack_138 + -0x7d6c" (identifier "pcStack_138") (+ "+") (number_literal "-0x7d6c")) () ")")))) (+ "+") (number_literal "0x48920"))) (; ";")) (expression_statement "piStack_130 = (int *)pcStack_12c;" (assignment_expression "piStack_130 = (int *)pcStack_12c" (identifier "piStack_130") (= "=") (cast_expression "(int *)pcStack_12c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcStack_12c"))) (; ";")) (expression_statement "piStack_114 = piStack_110;" (assignment_expression "piStack_114 = piStack_110" (identifier "piStack_114") (= "=") (identifier "piStack_110")) (; ";")) (expression_statement "pcStack_118 = (code *)piVar12;" (assignment_expression "pcStack_118 = (code *)piVar12" (identifier "pcStack_118") (= "=") (cast_expression "(code *)piVar12" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar12"))) (; ";")) (expression_statement "pcStack_11c = pcVar4;" (assignment_expression "pcStack_11c = pcVar4" (identifier "pcStack_11c") (= "=") (identifier "pcVar4")) (; ";")) (expression_statement "pcStack_120 = pcVar8;" (assignment_expression "pcStack_120 = pcVar8" (identifier "pcStack_120") (= "=") (identifier "pcVar8")) (; ";")) (expression_statement "piStack_124 = (int *)pcVar19;" (assignment_expression "piStack_124 = (int *)pcVar19" (identifier "piStack_124") (= "=") (cast_expression "(int *)pcVar19" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar19"))) (; ";")) (expression_statement "pcStack_128 = (code *)piVar10;" (assignment_expression "pcStack_128 = (code *)piVar10" (identifier "pcStack_128") (= "=") (cast_expression "(code *)piVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar10"))) (; ";")) (expression_statement "pcStack_12c = pcVar15;" (assignment_expression "pcStack_12c = pcVar15" (identifier "pcStack_12c") (= "=") (identifier "pcVar15")) (; ";")) (expression_statement "piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);" (assignment_expression "piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" (identifier "piVar10") (= "=") (pointer_expression "*(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" (* "*") (cast_expression "(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24)" (( "(") (binary_expression "*(int *)(pcStack_138 + -0x7d6c) + 0x40e24" (pointer_expression "*(int *)(pcStack_138 + -0x7d6c)" (* "*") (cast_expression "(int *)(pcStack_138 + -0x7d6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_138 + -0x7d6c)" (( "(") (binary_expression "pcStack_138 + -0x7d6c" (identifier "pcStack_138") (+ "+") (number_literal "-0x7d6c")) () ")")))) (+ "+") (number_literal "0x40e24")) () ")"))))) (; ";")) (expression_statement "iVar27 = piVar7[0x1a];" (assignment_expression "iVar27 = piVar7[0x1a]" (identifier "iVar27") (= "=") (subscript_expression "piVar7[0x1a]" (identifier "piVar7") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "uVar17 = piVar7[0x19] + 1;" (assignment_expression "uVar17 = piVar7[0x19] + 1" (identifier "uVar17") (= "=") (binary_expression "piVar7[0x19] + 1" (subscript_expression "piVar7[0x19]" (identifier "piVar7") ([ "[") (number_literal "0x19") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar16 = piVar7[0x1b];" (assignment_expression "iVar16 = piVar7[0x1b]" (identifier "iVar16") (= "=") (subscript_expression "piVar7[0x1b]" (identifier "piVar7") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "iVar30 = iVar27 + 1;" (assignment_expression "iVar30 = iVar27 + 1" (identifier "iVar30") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iStack_134 = *piVar10;" (assignment_expression "iStack_134 = *piVar10" (identifier "iStack_134") (= "=") (pointer_expression "*piVar10" (* "*") (identifier "piVar10"))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(*piVar7 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(*piVar7 + 0xc)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(*piVar7 + 0xc)" (* "*") (cast_expression "(undefined4 *)(*piVar7 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar7 + 0xc)" (( "(") (binary_expression "*piVar7 + 0xc" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];" (assignment_expression "piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18]" (subscript_expression "piVar7[0x18]" (identifier "piVar7") ([ "[") (number_literal "0x18") (] "]")) (= "=") (binary_expression "(uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18]" (call_expression "(uint)(uVar17 < (uint)piVar7[0x19])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < (uint)piVar7[0x19])" (( "(") (binary_expression "uVar17 < (uint)piVar7[0x19]" (identifier "uVar17") (< "<") (cast_expression "(uint)piVar7[0x19]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar7[0x19]" (identifier "piVar7") ([ "[") (number_literal "0x19") (] "]")))) () ")"))) (+ "+") (subscript_expression "piVar7[0x18]" (identifier "piVar7") ([ "[") (number_literal "0x18") (] "]")))) (; ";")) (expression_statement "piVar7[0x19] = uVar17;" (assignment_expression "piVar7[0x19] = uVar17" (subscript_expression "piVar7[0x19]" (identifier "piVar7") ([ "[") (number_literal "0x19") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "piVar7[0x1a] = iVar30;" (assignment_expression "piVar7[0x1a] = iVar30" (subscript_expression "piVar7[0x1a]" (identifier "piVar7") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (identifier "iVar30")) (; ";")) (expression_statement "piStack_110 = (int *)iVar6;" (assignment_expression "piStack_110 = (int *)iVar6" (identifier "piStack_110") (= "=") (cast_expression "(int *)iVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar6"))) (; ";")) (if_statement "if (iVar30 < iVar16) {\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }\n  else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }" (if "if") (parenthesized_expression "(iVar30 < iVar16)" (( "(") (binary_expression "iVar30 < iVar16" (identifier "iVar30") (< "<") (identifier "iVar16")) () ")")) (compound_statement "{\n    ppiVar13 = (int **)(iVar30 * 0x10);\n    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);\n    iVar6 = *piVar12;\n    if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }\n  }" ({ "{") (expression_statement "ppiVar13 = (int **)(iVar30 * 0x10);" (assignment_expression "ppiVar13 = (int **)(iVar30 * 0x10)" (identifier "ppiVar13") (= "=") (cast_expression "(int **)(iVar30 * 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar30 * 0x10)" (( "(") (binary_expression "iVar30 * 0x10" (identifier "iVar30") (* "*") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);" (assignment_expression "piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13)" (identifier "piVar12") (= "=") (cast_expression "(int *)(piVar7[0x1c] + (int)ppiVar13)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar7[0x1c] + (int)ppiVar13)" (( "(") (binary_expression "piVar7[0x1c] + (int)ppiVar13" (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13"))) () ")")))) (; ";")) (expression_statement "iVar6 = *piVar12;" (assignment_expression "iVar6 = *piVar12" (identifier "iVar6") (= "=") (pointer_expression "*piVar12" (* "*") (identifier "piVar12"))) (; ";")) (if_statement "if (iVar6 < 1) {\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }" (if "if") (parenthesized_expression "(iVar6 < 1)" (( "(") (binary_expression "iVar6 < 1" (identifier "iVar6") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }\n      goto LAB_00148800;\n    }" ({ "{") (if_statement "if ((iVar6 == 0) && (piVar12[1] != 0)) {\n        piVar12 = (int *)0x0;\n      }\n      else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }" (if "if") (parenthesized_expression "((iVar6 == 0) && (piVar12[1] != 0))" (( "(") (binary_expression "(iVar6 == 0) && (piVar12[1] != 0)" (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar12[1] != 0)" (( "(") (binary_expression "piVar12[1] != 0" (subscript_expression "piVar12[1]" (identifier "piVar12") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        piVar12 = (int *)0x0;\n      }" ({ "{") (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }" (else "else") (compound_statement "{\n        iVar27 = iVar27 + 2;\n        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;\n        do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));\n        piVar12 = (int *)0x0;\n      }" ({ "{") (expression_statement "iVar27 = iVar27 + 2;" (assignment_expression "iVar27 = iVar27 + 2" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 2" (identifier "iVar27") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;" (assignment_expression "iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10" (identifier "iVar6") (= "=") (binary_expression "(int)ppiVar13 + piVar7[0x1c] + -0x10" (binary_expression "(int)ppiVar13 + piVar7[0x1c]" (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13")) (+ "+") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]"))) (+ "+") (number_literal "-0x10"))) (; ";")) (do_statement "do {\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));" (do "do") (compound_statement "{\n          piVar7[0x1a] = iVar27;\n          if (iVar27 == iVar16) goto LAB_00148750;\n          ppiVar13 = *(int ***)(iVar6 + 0x20);\n          iVar27 = iVar27 + 1;\n          piVar12 = (int *)(iVar6 + 0x24);\n          iVar6 = iVar6 + 0x10;\n          if (0 < (int)ppiVar13) goto LAB_001487fc;\n        }" ({ "{") (expression_statement "piVar7[0x1a] = iVar27;" (assignment_expression "piVar7[0x1a] = iVar27" (subscript_expression "piVar7[0x1a]" (identifier "piVar7") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (identifier "iVar27")) (; ";")) (if_statement "if (iVar27 == iVar16) goto LAB_00148750;" (if "if") (parenthesized_expression "(iVar27 == iVar16)" (( "(") (binary_expression "iVar27 == iVar16" (identifier "iVar27") (== "==") (identifier "iVar16")) () ")")) (goto_statement "goto LAB_00148750;" (goto "goto") (statement_identifier "LAB_00148750") (; ";"))) (expression_statement "ppiVar13 = *(int ***)(iVar6 + 0x20);" (assignment_expression "ppiVar13 = *(int ***)(iVar6 + 0x20)" (identifier "ppiVar13") (= "=") (pointer_expression "*(int ***)(iVar6 + 0x20)" (* "*") (cast_expression "(int ***)(iVar6 + 0x20)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar12 = (int *)(iVar6 + 0x24);" (assignment_expression "piVar12 = (int *)(iVar6 + 0x24)" (identifier "piVar12") (= "=") (cast_expression "(int *)(iVar6 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x24)" (( "(") (binary_expression "iVar6 + 0x24" (identifier "iVar6") (+ "+") (number_literal "0x24")) () ")")))) (; ";")) (expression_statement "iVar6 = iVar6 + 0x10;" (assignment_expression "iVar6 = iVar6 + 0x10" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 0x10" (identifier "iVar6") (+ "+") (number_literal "0x10"))) (; ";")) (if_statement "if (0 < (int)ppiVar13) goto LAB_001487fc;" (if "if") (parenthesized_expression "(0 < (int)ppiVar13)" (( "(") (binary_expression "0 < (int)ppiVar13" (number_literal "0") (< "<") (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13"))) () ")")) (goto_statement "goto LAB_001487fc;" (goto "goto") (statement_identifier "LAB_001487fc") (; ";"))) (} "}")) (while "while") (parenthesized_expression "((ppiVar13 != (int **)0x0) || (*piVar12 == 0))" (( "(") (binary_expression "(ppiVar13 != (int **)0x0) || (*piVar12 == 0)" (parenthesized_expression "(ppiVar13 != (int **)0x0)" (( "(") (binary_expression "ppiVar13 != (int **)0x0" (identifier "ppiVar13") (!= "!=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar12 == 0)" (( "(") (binary_expression "*piVar12 == 0" (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) (== "==") (number_literal "0")) () ")"))) () ")")) (; ";")) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00148800;" (goto "goto") (statement_identifier "LAB_00148800") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }" (else "else") (compound_statement "{\nLAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);\n    piVar12 = (int *)FUN_00147c04(uVar9);\n    if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }\n    if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }\n    iVar16 = piVar7[0x1b];\n    iVar6 = piVar7[0xe];\n    iVar27 = piVar7[0xd];\n    if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }\n    iVar16 = iVar16 << 4;\n    ppiVar13 = (int **)0x0;\n    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);\n    if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }\nLAB_001487f8:\n    piVar7[0x1a] = 0;\n  }" ({ "{") (labeled_statement "LAB_00148750:\n    ppiVar13 = (int **)(piVar7 + 1);" (statement_identifier "LAB_00148750") (: ":") (expression_statement "ppiVar13 = (int **)(piVar7 + 1);" (assignment_expression "ppiVar13 = (int **)(piVar7 + 1)" (identifier "ppiVar13") (= "=") (cast_expression "(int **)(piVar7 + 1)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar7 + 1)" (( "(") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "piVar12 = (int *)FUN_00147c04(uVar9);" (assignment_expression "piVar12 = (int *)FUN_00147c04(uVar9)" (identifier "piVar12") (= "=") (cast_expression "(int *)FUN_00147c04(uVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00147c04(uVar9)" (identifier "FUN_00147c04") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))))) (; ";")) (if_statement "if (piVar12 != (int *)&DAT_00000064) {\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }" (if "if") (parenthesized_expression "(piVar12 != (int *)&DAT_00000064)" (( "(") (binary_expression "piVar12 != (int *)&DAT_00000064" (identifier "piVar12") (!= "!=") (cast_expression "(int *)&DAT_00000064" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000064" (& "&") (identifier "DAT_00000064")))) () ")")) (compound_statement "{\n      piVar7[0x16] = 1;\n      goto LAB_00148800;\n    }" ({ "{") (expression_statement "piVar7[0x16] = 1;" (assignment_expression "piVar7[0x16] = 1" (subscript_expression "piVar7[0x16]" (identifier "piVar7") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00148800;" (goto "goto") (statement_identifier "LAB_00148800") (; ";")) (} "}"))) (if_statement "if (piVar7[0x13] != 0) {\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }" (if "if") (parenthesized_expression "(piVar7[0x13] != 0)" (( "(") (binary_expression "piVar7[0x13] != 0" (subscript_expression "piVar7[0x13]" (identifier "piVar7") ([ "[") (number_literal "0x13") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar27 = piVar7[0xc];\n      iVar6 = piVar7[0x14];\n      ppiVar13 = (int **)piVar7[0xb];\n      iVar16 = iVar27;\n      if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }\n      iVar30 = (**(code **)(iVar31 + -0x7b14))();\n      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }\n    }" ({ "{") (expression_statement "iVar27 = piVar7[0xc];" (assignment_expression "iVar27 = piVar7[0xc]" (identifier "iVar27") (= "=") (subscript_expression "piVar7[0xc]" (identifier "piVar7") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "iVar6 = piVar7[0x14];" (assignment_expression "iVar6 = piVar7[0x14]" (identifier "iVar6") (= "=") (subscript_expression "piVar7[0x14]" (identifier "piVar7") ([ "[") (number_literal "0x14") (] "]"))) (; ";")) (expression_statement "ppiVar13 = (int **)piVar7[0xb];" (assignment_expression "ppiVar13 = (int **)piVar7[0xb]" (identifier "ppiVar13") (= "=") (cast_expression "(int **)piVar7[0xb]" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "piVar7[0xb]" (identifier "piVar7") ([ "[") (number_literal "0xb") (] "]")))) (; ";")) (expression_statement "iVar16 = iVar27;" (assignment_expression "iVar16 = iVar27" (identifier "iVar16") (= "=") (identifier "iVar27")) (; ";")) (if_statement "if (iVar6 < iVar27) {\n        iVar16 = iVar6;\n      }" (if "if") (parenthesized_expression "(iVar6 < iVar27)" (( "(") (binary_expression "iVar6 < iVar27" (identifier "iVar6") (< "<") (identifier "iVar27")) () ")")) (compound_statement "{\n        iVar16 = iVar6;\n      }" ({ "{") (expression_statement "iVar16 = iVar6;" (assignment_expression "iVar16 = iVar6" (identifier "iVar16") (= "=") (identifier "iVar6")) (; ";")) (} "}"))) (expression_statement "iVar30 = (**(code **)(iVar31 + -0x7b14))();" (assignment_expression "iVar30 = (**(code **)(iVar31 + -0x7b14))()" (identifier "iVar30") (= "=") (call_expression "(**(code **)(iVar31 + -0x7b14))()" (parenthesized_expression "(**(code **)(iVar31 + -0x7b14))" (( "(") (pointer_expression "**(code **)(iVar31 + -0x7b14)" (* "*") (pointer_expression "*(code **)(iVar31 + -0x7b14)" (* "*") (cast_expression "(code **)(iVar31 + -0x7b14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar31 + -0x7b14)" (( "(") (binary_expression "iVar31 + -0x7b14" (identifier "iVar31") (+ "+") (number_literal "-0x7b14")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }" (if "if") (parenthesized_expression "((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27))))" (( "(") (binary_expression "(iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))" (parenthesized_expression "(iVar30 < 0)" (( "(") (binary_expression "iVar30 < 0" (identifier "iVar30") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar30 == 0 && (iVar6 < iVar27)))" (( "(") (parenthesized_expression "(iVar30 == 0 && (iVar6 < iVar27))" (( "(") (binary_expression "iVar30 == 0 && (iVar6 < iVar27)" (binary_expression "iVar30 == 0" (identifier "iVar30") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar6 < iVar27)" (( "(") (binary_expression "iVar6 < iVar27" (identifier "iVar6") (< "<") (identifier "iVar27")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        piVar12 = (int *)0x0;\n        piVar7[0x16] = 1;\n        goto LAB_00148800;\n      }" ({ "{") (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar7[0x16] = 1;" (assignment_expression "piVar7[0x16] = 1" (subscript_expression "piVar7[0x16]" (identifier "piVar7") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00148800;" (goto "goto") (statement_identifier "LAB_00148800") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar16 = piVar7[0x1b];" (assignment_expression "iVar16 = piVar7[0x1b]" (identifier "iVar16") (= "=") (subscript_expression "piVar7[0x1b]" (identifier "piVar7") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "iVar6 = piVar7[0xe];" (assignment_expression "iVar6 = piVar7[0xe]" (identifier "iVar6") (= "=") (subscript_expression "piVar7[0xe]" (identifier "piVar7") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "iVar27 = piVar7[0xd];" (assignment_expression "iVar27 = piVar7[0xd]" (identifier "iVar27") (= "=") (subscript_expression "piVar7[0xd]" (identifier "piVar7") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (if_statement "if (iVar16 < 2) {\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }" (if "if") (parenthesized_expression "(iVar16 < 2)" (( "(") (binary_expression "iVar16 < 2" (identifier "iVar16") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      iVar16 = 2;\n      ppiVar13 = (int **)(piVar7 + 0x1c);\n      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);\n      if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }\n      iVar16 = piVar7[0x1b];\n    }" ({ "{") (expression_statement "iVar16 = 2;" (assignment_expression "iVar16 = 2" (identifier "iVar16") (= "=") (number_literal "2")) (; ";")) (expression_statement "ppiVar13 = (int **)(piVar7 + 0x1c);" (assignment_expression "ppiVar13 = (int **)(piVar7 + 0x1c)" (identifier "ppiVar13") (= "=") (cast_expression "(int **)(piVar7 + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar7 + 0x1c)" (( "(") (binary_expression "piVar7 + 0x1c" (identifier "piVar7") (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);" (assignment_expression "iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b)" (identifier "iVar30") (= "=") (call_expression "(*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b)" (parenthesized_expression "(*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))" (( "(") (pointer_expression "*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" (* "*") (cast_expression "(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar31 + -0x7cf4) + 0x948)" (( "(") (binary_expression "*(int *)(iVar31 + -0x7cf4) + 0x948" (pointer_expression "*(int *)(iVar31 + -0x7cf4)" (* "*") (cast_expression "(int *)(iVar31 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + -0x7cf4)" (( "(") (binary_expression "iVar31 + -0x7cf4" (identifier "iVar31") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "0x948")) () ")")))) () ")")) (argument_list "(piVar7 + 0x1b)" (( "(") (binary_expression "piVar7 + 0x1b" (identifier "piVar7") (+ "+") (number_literal "0x1b")) () ")")))) (; ";")) (if_statement "if (iVar30 != 0) {\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }" (if "if") (parenthesized_expression "(iVar30 != 0)" (( "(") (binary_expression "iVar30 != 0" (identifier "iVar30") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;\n        goto LAB_00148800;\n      }" ({ "{") (labeled_statement "LAB_00148b9c:\n        piVar12 = (int *)&DAT_00000007;" (statement_identifier "LAB_00148b9c") (: ":") (expression_statement "piVar12 = (int *)&DAT_00000007;" (assignment_expression "piVar12 = (int *)&DAT_00000007" (identifier "piVar12") (= "=") (cast_expression "(int *)&DAT_00000007" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";"))) (goto_statement "goto LAB_00148800;" (goto "goto") (statement_identifier "LAB_00148800") (; ";")) (} "}"))) (expression_statement "iVar16 = piVar7[0x1b];" (assignment_expression "iVar16 = piVar7[0x1b]" (identifier "iVar16") (= "=") (subscript_expression "piVar7[0x1b]" (identifier "piVar7") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (} "}"))) (expression_statement "iVar16 = iVar16 << 4;" (assignment_expression "iVar16 = iVar16 << 4" (identifier "iVar16") (= "=") (binary_expression "iVar16 << 4" (identifier "iVar16") (<< "<<") (number_literal "4"))) (; ";")) (expression_statement "ppiVar13 = (int **)0x0;" (assignment_expression "ppiVar13 = (int **)0x0" (identifier "ppiVar13") (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);" (call_expression "(**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c])" (parenthesized_expression "(**(code **)(iVar31 + -0x7bc8))" (( "(") (pointer_expression "**(code **)(iVar31 + -0x7bc8)" (* "*") (pointer_expression "*(code **)(iVar31 + -0x7bc8)" (* "*") (cast_expression "(code **)(iVar31 + -0x7bc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar31 + -0x7bc8)" (( "(") (binary_expression "iVar31 + -0x7bc8" (identifier "iVar31") (+ "+") (number_literal "-0x7bc8")) () ")"))))) () ")")) (argument_list "(piVar7[0x1c])" (( "(") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]")) () ")"))) (; ";")) (if_statement "if (0 < iVar6) {\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }" (if "if") (parenthesized_expression "(0 < iVar6)" (( "(") (binary_expression "0 < iVar6" (number_literal "0") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n      uStack_13c = 0;\n      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);\n      piStack_140 = (int *)0x0;\n      iVar30 = (*pcVar19)(iVar27,&piStack_140);\n      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);\nLAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];\n      ppiVar5 = (int **)piVar12[1];\n      iVar16 = *piVar12;\n      ppiVar13 = (int **)((int)ppiVar5 + 1);\n      piVar12[1] = (int)ppiVar13;\n      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n      if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }\n    }" ({ "{") (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" (identifier "uStack_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);" (assignment_expression "pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8)" (identifier "pcVar19") (= "=") (cast_expression "(code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar31 + -0x7de0) + 0x3ec8)" (( "(") (binary_expression "*(int *)(iVar31 + -0x7de0) + 0x3ec8" (pointer_expression "*(int *)(iVar31 + -0x7de0)" (* "*") (cast_expression "(int *)(iVar31 + -0x7de0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + -0x7de0)" (( "(") (binary_expression "iVar31 + -0x7de0" (identifier "iVar31") (+ "+") (number_literal "-0x7de0")) () ")")))) (+ "+") (number_literal "0x3ec8")) () ")")))) (; ";")) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" (identifier "piStack_140") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar30 = (*pcVar19)(iVar27,&piStack_140);" (assignment_expression "iVar30 = (*pcVar19)(iVar27,&piStack_140)" (identifier "iVar30") (= "=") (call_expression "(*pcVar19)(iVar27,&piStack_140)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(iVar27,&piStack_140)" (( "(") (identifier "iVar27") (, ",") (pointer_expression "&piStack_140" (& "&") (identifier "piStack_140")) () ")")))) (; ";")) (expression_statement "pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);" (assignment_expression "pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" (identifier "pcVar15") (= "=") (cast_expression "(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar31 + -0x7cf4) + 0x948)" (( "(") (binary_expression "*(int *)(iVar31 + -0x7cf4) + 0x948" (pointer_expression "*(int *)(iVar31 + -0x7cf4)" (* "*") (cast_expression "(int *)(iVar31 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + -0x7cf4)" (( "(") (binary_expression "iVar31 + -0x7cf4" (identifier "iVar31") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "0x948")) () ")")))) (; ";")) (labeled_statement "LAB_001488f8:\n      piVar12 = (int *)piVar7[0x1c];" (statement_identifier "LAB_001488f8") (: ":") (expression_statement "piVar12 = (int *)piVar7[0x1c];" (assignment_expression "piVar12 = (int *)piVar7[0x1c]" (identifier "piVar12") (= "=") (cast_expression "(int *)piVar7[0x1c]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]")))) (; ";"))) (expression_statement "ppiVar5 = (int **)piVar12[1];" (assignment_expression "ppiVar5 = (int **)piVar12[1]" (identifier "ppiVar5") (= "=") (cast_expression "(int **)piVar12[1]" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "piVar12[1]" (identifier "piVar12") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar16 = *piVar12;" (assignment_expression "iVar16 = *piVar12" (identifier "iVar16") (= "=") (pointer_expression "*piVar12" (* "*") (identifier "piVar12"))) (; ";")) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" (identifier "ppiVar13") (= "=") (cast_expression "(int **)((int)ppiVar5 + 1)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar5 + 1)" (( "(") (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar12[1] = (int)ppiVar13;" (assignment_expression "piVar12[1] = (int)ppiVar13" (subscript_expression "piVar12[1]" (identifier "piVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13"))) (; ";")) (expression_statement "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) (= "=") (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ppiVar13 < ppiVar5)" (( "(") (binary_expression "ppiVar13 < ppiVar5" (identifier "ppiVar13") (< "<") (identifier "ppiVar5")) () ")"))) (+ "+") (identifier "iVar16"))) (; ";")) (if_statement "if (iVar30 < iVar6) {\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }" (if "if") (parenthesized_expression "(iVar30 < iVar6)" (( "(") (binary_expression "iVar30 < iVar6" (identifier "iVar30") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        ppiVar13 = &piStack_140;\n        iVar21 = (*pcVar19)(iVar27 + iVar30);\n        iVar21 = iVar21 + iVar30;\n        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }\n        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }\n        if (iVar6 <= iVar21) goto LAB_001487f8;\n        uStack_13c = 0;\n        piStack_140 = (int *)0x0;\n        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n        iVar30 = iVar21 + iVar30;\n        goto LAB_001488f8;\n      }" ({ "{") (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" (identifier "uStack_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" (identifier "piStack_140") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" (identifier "ppiVar13") (= "=") (pointer_expression "&piStack_140" (& "&") (identifier "piStack_140"))) (; ";")) (expression_statement "iVar21 = (*pcVar19)(iVar27 + iVar30);" (assignment_expression "iVar21 = (*pcVar19)(iVar27 + iVar30)" (identifier "iVar21") (= "=") (call_expression "(*pcVar19)(iVar27 + iVar30)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(iVar27 + iVar30)" (( "(") (binary_expression "iVar27 + iVar30" (identifier "iVar27") (+ "+") (identifier "iVar30")) () ")")))) (; ";")) (expression_statement "iVar21 = iVar21 + iVar30;" (assignment_expression "iVar21 = iVar21 + iVar30" (identifier "iVar21") (= "=") (binary_expression "iVar21 + iVar30" (identifier "iVar21") (+ "+") (identifier "iVar30"))) (; ";")) (if_statement "if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }" (if "if") (parenthesized_expression "((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c))))" (( "(") (binary_expression "(0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))" (parenthesized_expression "(0 < (int)piStack_140)" (( "(") (binary_expression "0 < (int)piStack_140" (number_literal "0") (< "<") (cast_expression "(int)piStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piStack_140"))) () ")")) (|| "||") (parenthesized_expression "((piStack_140 == (int *)0x0 && (1 < uStack_13c)))" (( "(") (parenthesized_expression "(piStack_140 == (int *)0x0 && (1 < uStack_13c))" (( "(") (binary_expression "piStack_140 == (int *)0x0 && (1 < uStack_13c)" (binary_expression "piStack_140 == (int *)0x0" (identifier "piStack_140") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "(1 < uStack_13c)" (( "(") (binary_expression "1 < uStack_13c" (number_literal "1") (< "<") (identifier "uStack_13c")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x14);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x14) = uVar14;\n          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);\n          iVar16 = piVar7[0x1c];\n          uVar17 = *(uint *)(iVar16 + 0x1c);\n          uVar14 = uVar17 + 1;\n          *(uint *)(iVar16 + 0x1c) = uVar14;\n          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n          iVar30 = piVar7[0x1c];\n          ppiVar5 = *(int ***)(iVar30 + 0xc);\n          iVar16 = *(int *)(iVar30 + 8);\n          ppiVar13 = (int **)((int)ppiVar5 + 1);\n          *(int ***)(iVar30 + 0xc) = ppiVar13;\n          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n          if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }\n          goto LAB_001487f8;\n        }" ({ "{") (expression_statement "iVar16 = piVar7[0x1c];" (assignment_expression "iVar16 = piVar7[0x1c]" (identifier "iVar16") (= "=") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "uVar17 = *(uint *)(iVar16 + 0x14);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0x14)" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)(iVar16 + 0x14)" (* "*") (cast_expression "(uint *)(iVar16 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x14)" (( "(") (binary_expression "iVar16 + 0x14" (identifier "iVar16") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar16 + 0x14) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0x14) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0x14)" (* "*") (cast_expression "(uint *)(iVar16 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x14)" (( "(") (binary_expression "iVar16 + 0x14" (identifier "iVar16") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "*(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);" (assignment_expression "*(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10)" (pointer_expression "*(uint *)(iVar16 + 0x10)" (* "*") (cast_expression "(uint *)(iVar16 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x10)" (( "(") (binary_expression "iVar16 + 0x10" (identifier "iVar16") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < uVar17)" (( "(") (binary_expression "uVar14 < uVar17" (identifier "uVar14") (< "<") (identifier "uVar17")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar16 + 0x10)" (* "*") (cast_expression "(int *)(iVar16 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x10)" (( "(") (binary_expression "iVar16 + 0x10" (identifier "iVar16") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (expression_statement "iVar16 = piVar7[0x1c];" (assignment_expression "iVar16 = piVar7[0x1c]" (identifier "iVar16") (= "=") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "uVar17 = *(uint *)(iVar16 + 0x1c);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0x1c)" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)(iVar16 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar16 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x1c)" (( "(") (binary_expression "iVar16 + 0x1c" (identifier "iVar16") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar16 + 0x1c) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0x1c) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar16 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x1c)" (( "(") (binary_expression "iVar16 + 0x1c" (identifier "iVar16") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);" (assignment_expression "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (pointer_expression "*(uint *)(iVar16 + 0x18)" (* "*") (cast_expression "(uint *)(iVar16 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x18)" (( "(") (binary_expression "iVar16 + 0x18" (identifier "iVar16") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < uVar17)" (( "(") (binary_expression "uVar14 < uVar17" (identifier "uVar14") (< "<") (identifier "uVar17")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar16 + 0x18)" (* "*") (cast_expression "(int *)(iVar16 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x18)" (( "(") (binary_expression "iVar16 + 0x18" (identifier "iVar16") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (expression_statement "iVar30 = piVar7[0x1c];" (assignment_expression "iVar30 = piVar7[0x1c]" (identifier "iVar30") (= "=") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "ppiVar5 = *(int ***)(iVar30 + 0xc);" (assignment_expression "ppiVar5 = *(int ***)(iVar30 + 0xc)" (identifier "ppiVar5") (= "=") (pointer_expression "*(int ***)(iVar30 + 0xc)" (* "*") (cast_expression "(int ***)(iVar30 + 0xc)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar30 + 0xc)" (( "(") (binary_expression "iVar30 + 0xc" (identifier "iVar30") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(iVar30 + 8);" (assignment_expression "iVar16 = *(int *)(iVar30 + 8)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar30 + 8)" (* "*") (cast_expression "(int *)(iVar30 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + 8)" (( "(") (binary_expression "iVar30 + 8" (identifier "iVar30") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" (identifier "ppiVar13") (= "=") (cast_expression "(int **)((int)ppiVar5 + 1)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar5 + 1)" (( "(") (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(int ***)(iVar30 + 0xc) = ppiVar13;" (assignment_expression "*(int ***)(iVar30 + 0xc) = ppiVar13" (pointer_expression "*(int ***)(iVar30 + 0xc)" (* "*") (cast_expression "(int ***)(iVar30 + 0xc)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar30 + 0xc)" (( "(") (binary_expression "iVar30 + 0xc" (identifier "iVar30") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "ppiVar13")) (; ";")) (expression_statement "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*(uint *)(iVar30 + 8)" (* "*") (cast_expression "(uint *)(iVar30 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + 8)" (( "(") (binary_expression "iVar30 + 8" (identifier "iVar30") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ppiVar13 < ppiVar5)" (( "(") (binary_expression "ppiVar13 < ppiVar5" (identifier "ppiVar13") (< "<") (identifier "ppiVar5")) () ")"))) (+ "+") (identifier "iVar16"))) (; ";")) (if_statement "if (iVar21 < iVar6) {\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }" (if "if") (parenthesized_expression "(iVar21 < iVar6)" (( "(") (binary_expression "iVar21 < iVar6" (identifier "iVar21") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n            uStack_13c = 0;\n            piStack_140 = (int *)0x0;\n            ppiVar13 = &piStack_140;\n            iVar18 = (*pcVar19)(iVar27 + iVar21);\n            iVar30 = 0x10;\n            iVar21 = iVar21 + iVar18;\n            goto LAB_00148a68;\n          }" ({ "{") (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" (identifier "uStack_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" (identifier "piStack_140") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" (identifier "ppiVar13") (= "=") (pointer_expression "&piStack_140" (& "&") (identifier "piStack_140"))) (; ";")) (expression_statement "iVar18 = (*pcVar19)(iVar27 + iVar21);" (assignment_expression "iVar18 = (*pcVar19)(iVar27 + iVar21)" (identifier "iVar18") (= "=") (call_expression "(*pcVar19)(iVar27 + iVar21)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(iVar27 + iVar21)" (( "(") (binary_expression "iVar27 + iVar21" (identifier "iVar27") (+ "+") (identifier "iVar21")) () ")")))) (; ";")) (expression_statement "iVar30 = 0x10;" (assignment_expression "iVar30 = 0x10" (identifier "iVar30") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "iVar21 = iVar21 + iVar18;" (assignment_expression "iVar21 = iVar21 + iVar18" (identifier "iVar21") (= "=") (binary_expression "iVar21 + iVar18" (identifier "iVar21") (+ "+") (identifier "iVar18"))) (; ";")) (goto_statement "goto LAB_00148a68;" (goto "goto") (statement_identifier "LAB_00148a68") (; ";")) (} "}"))) (goto_statement "goto LAB_001487f8;" (goto "goto") (statement_identifier "LAB_001487f8") (; ";")) (} "}"))) (if_statement "if (piStack_140 != (int *)0x0 || uStack_13c != 0) {\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }" (if "if") (parenthesized_expression "(piStack_140 != (int *)0x0 || uStack_13c != 0)" (( "(") (binary_expression "piStack_140 != (int *)0x0 || uStack_13c != 0" (binary_expression "piStack_140 != (int *)0x0" (identifier "piStack_140") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "uStack_13c != 0" (identifier "uStack_13c") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }\n          goto LAB_001487f8;\n        }" ({ "{") (if_statement "if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }\n          else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }" (if "if") (parenthesized_expression "((piStack_140 == (int *)0x0) && (uStack_13c == 1))" (( "(") (binary_expression "(piStack_140 == (int *)0x0) && (uStack_13c == 1)" (parenthesized_expression "(piStack_140 == (int *)0x0)" (( "(") (binary_expression "piStack_140 == (int *)0x0" (identifier "piStack_140") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(uStack_13c == 1)" (( "(") (binary_expression "uStack_13c == 1" (identifier "uStack_13c") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }\n          }" ({ "{") (if_statement "if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }" (if "if") (parenthesized_expression "(iVar21 < iVar6)" (( "(") (binary_expression "iVar21 < iVar6" (identifier "iVar21") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n              iVar21 = iVar21 + iVar16;\n              do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );\n            }" ({ "{") (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" (identifier "uStack_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" (identifier "piStack_140") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" (identifier "iVar16") (= "=") (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(iVar27 + iVar21,&piStack_140)" (( "(") (binary_expression "iVar27 + iVar21" (identifier "iVar27") (+ "+") (identifier "iVar21")) (, ",") (pointer_expression "&piStack_140" (& "&") (identifier "piStack_140")) () ")")))) (; ";")) (expression_statement "iVar21 = iVar21 + iVar16;" (assignment_expression "iVar21 = iVar21 + iVar16" (identifier "iVar21") (= "=") (binary_expression "iVar21 + iVar16" (identifier "iVar21") (+ "+") (identifier "iVar16"))) (; ";")) (do_statement "do {\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              } while( true );" (do "do") (compound_statement "{\n                iVar16 = uStack_13c + 2;\n                uVar17 = uStack_13c;\n                if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }\n                iVar30 = (uVar17 + 1) * 0x10;\n                piVar12 = (int *)(piVar7[0x1c] + iVar30);\n                ppiVar5 = (int **)piVar12[1];\n                iVar16 = *piVar12;\n                ppiVar13 = (int **)((int)ppiVar5 + 1);\n                piVar12[1] = (int)ppiVar13;\n                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }\n                if (iVar6 <= iVar21) break;\n                uStack_13c = 0;\n                piStack_140 = (int *)0x0;\n                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                iVar21 = iVar16 + iVar21;\n              }" ({ "{") (expression_statement "iVar16 = uStack_13c + 2;" (assignment_expression "iVar16 = uStack_13c + 2" (identifier "iVar16") (= "=") (binary_expression "uStack_13c + 2" (identifier "uStack_13c") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar17 = uStack_13c;" (assignment_expression "uVar17 = uStack_13c" (identifier "uVar17") (= "=") (identifier "uStack_13c")) (; ";")) (if_statement "if (piVar7[0x1b] < iVar16) {\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }" (if "if") (parenthesized_expression "(piVar7[0x1b] < iVar16)" (( "(") (binary_expression "piVar7[0x1b] < iVar16" (subscript_expression "piVar7[0x1b]" (identifier "piVar7") ([ "[") (number_literal "0x1b") (] "]")) (< "<") (identifier "iVar16")) () ")")) (compound_statement "{\n                  ppiVar13 = (int **)(piVar7 + 0x1c);\n                  iVar30 = (*pcVar15)(piVar7 + 0x1b);\n                  if (iVar30 != 0) goto LAB_00148b9c;\n                }" ({ "{") (expression_statement "ppiVar13 = (int **)(piVar7 + 0x1c);" (assignment_expression "ppiVar13 = (int **)(piVar7 + 0x1c)" (identifier "ppiVar13") (= "=") (cast_expression "(int **)(piVar7 + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar7 + 0x1c)" (( "(") (binary_expression "piVar7 + 0x1c" (identifier "piVar7") (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "iVar30 = (*pcVar15)(piVar7 + 0x1b);" (assignment_expression "iVar30 = (*pcVar15)(piVar7 + 0x1b)" (identifier "iVar30") (= "=") (call_expression "(*pcVar15)(piVar7 + 0x1b)" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(piVar7 + 0x1b)" (( "(") (binary_expression "piVar7 + 0x1b" (identifier "piVar7") (+ "+") (number_literal "0x1b")) () ")")))) (; ";")) (if_statement "if (iVar30 != 0) goto LAB_00148b9c;" (if "if") (parenthesized_expression "(iVar30 != 0)" (( "(") (binary_expression "iVar30 != 0" (identifier "iVar30") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00148b9c;" (goto "goto") (statement_identifier "LAB_00148b9c") (; ";"))) (} "}"))) (expression_statement "iVar30 = (uVar17 + 1) * 0x10;" (assignment_expression "iVar30 = (uVar17 + 1) * 0x10" (identifier "iVar30") (= "=") (binary_expression "(uVar17 + 1) * 0x10" (parenthesized_expression "(uVar17 + 1)" (( "(") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "0x10"))) (; ";")) (expression_statement "piVar12 = (int *)(piVar7[0x1c] + iVar30);" (assignment_expression "piVar12 = (int *)(piVar7[0x1c] + iVar30)" (identifier "piVar12") (= "=") (cast_expression "(int *)(piVar7[0x1c] + iVar30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar7[0x1c] + iVar30)" (( "(") (binary_expression "piVar7[0x1c] + iVar30" (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (identifier "iVar30")) () ")")))) (; ";")) (expression_statement "ppiVar5 = (int **)piVar12[1];" (assignment_expression "ppiVar5 = (int **)piVar12[1]" (identifier "ppiVar5") (= "=") (cast_expression "(int **)piVar12[1]" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "piVar12[1]" (identifier "piVar12") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar16 = *piVar12;" (assignment_expression "iVar16 = *piVar12" (identifier "iVar16") (= "=") (pointer_expression "*piVar12" (* "*") (identifier "piVar12"))) (; ";")) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" (identifier "ppiVar13") (= "=") (cast_expression "(int **)((int)ppiVar5 + 1)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar5 + 1)" (( "(") (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar12[1] = (int)ppiVar13;" (assignment_expression "piVar12[1] = (int)ppiVar13" (subscript_expression "piVar12[1]" (identifier "piVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)ppiVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar13"))) (; ";")) (expression_statement "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) (= "=") (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ppiVar13 < ppiVar5)" (( "(") (binary_expression "ppiVar13 < ppiVar5" (identifier "ppiVar13") (< "<") (identifier "ppiVar5")) () ")"))) (+ "+") (identifier "iVar16"))) (; ";")) (while_statement "while( true ) {\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                  if (iVar6 <= iVar21) goto LAB_001487f8;\n                  uStack_13c = 0;\n                  piStack_140 = (int *)0x0;\n                  ppiVar13 = &piStack_140;\n                  iVar18 = (*pcVar19)(iVar27 + iVar21);\n                  iVar21 = iVar21 + iVar18;\nLAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }\n                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;\n                  iVar16 = piVar7[0x1c] + iVar30;\n                  uVar17 = *(uint *)(iVar16 + 0xc);\n                  uVar14 = uVar17 + 1;\n                  *(uint *)(iVar16 + 0xc) = uVar14;\n                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);\n                  iVar18 = piVar7[0x1c];\n                  ppiVar5 = *(int ***)(iVar18 + 0xc);\n                  iVar16 = *(int *)(iVar18 + 8);\n                  ppiVar13 = (int **)((int)ppiVar5 + 1);\n                  *(int ***)(iVar18 + 0xc) = ppiVar13;\n                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n                }" ({ "{") (if_statement "if (iVar6 <= iVar21) goto LAB_001487f8;" (if "if") (parenthesized_expression "(iVar6 <= iVar21)" (( "(") (binary_expression "iVar6 <= iVar21" (identifier "iVar6") (<= "<=") (identifier "iVar21")) () ")")) (goto_statement "goto LAB_001487f8;" (goto "goto") (statement_identifier "LAB_001487f8") (; ";"))) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" (identifier "uStack_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" (identifier "piStack_140") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" (identifier "ppiVar13") (= "=") (pointer_expression "&piStack_140" (& "&") (identifier "piStack_140"))) (; ";")) (expression_statement "iVar18 = (*pcVar19)(iVar27 + iVar21);" (assignment_expression "iVar18 = (*pcVar19)(iVar27 + iVar21)" (identifier "iVar18") (= "=") (call_expression "(*pcVar19)(iVar27 + iVar21)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(iVar27 + iVar21)" (( "(") (binary_expression "iVar27 + iVar21" (identifier "iVar27") (+ "+") (identifier "iVar21")) () ")")))) (; ";")) (expression_statement "iVar21 = iVar21 + iVar18;" (assignment_expression "iVar21 = iVar21 + iVar18" (identifier "iVar21") (= "=") (binary_expression "iVar21 + iVar18" (identifier "iVar21") (+ "+") (identifier "iVar18"))) (; ";")) (labeled_statement "LAB_00148a68:\n                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }" (statement_identifier "LAB_00148a68") (: ":") (if_statement "if (piStack_140 == (int *)0x0 && uStack_13c == 0) {\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }" (if "if") (parenthesized_expression "(piStack_140 == (int *)0x0 && uStack_13c == 0)" (( "(") (binary_expression "piStack_140 == (int *)0x0 && uStack_13c == 0" (binary_expression "piStack_140 == (int *)0x0" (identifier "piStack_140") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "uStack_13c == 0" (identifier "uStack_13c") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n                    if (iVar6 <= iVar21) goto LAB_001487f8;\n                    uStack_13c = 0;\n                    piStack_140 = (int *)0x0;\n                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);\n                    iVar30 = iVar30 + iVar21;\n                    goto LAB_001488f8;\n                  }" ({ "{") (if_statement "if (iVar6 <= iVar21) goto LAB_001487f8;" (if "if") (parenthesized_expression "(iVar6 <= iVar21)" (( "(") (binary_expression "iVar6 <= iVar21" (identifier "iVar6") (<= "<=") (identifier "iVar21")) () ")")) (goto_statement "goto LAB_001487f8;" (goto "goto") (statement_identifier "LAB_001487f8") (; ";"))) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" (identifier "uStack_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" (identifier "piStack_140") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" (identifier "iVar30") (= "=") (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(iVar27 + iVar21,&piStack_140)" (( "(") (binary_expression "iVar27 + iVar21" (identifier "iVar27") (+ "+") (identifier "iVar21")) (, ",") (pointer_expression "&piStack_140" (& "&") (identifier "piStack_140")) () ")")))) (; ";")) (expression_statement "iVar30 = iVar30 + iVar21;" (assignment_expression "iVar30 = iVar30 + iVar21" (identifier "iVar30") (= "=") (binary_expression "iVar30 + iVar21" (identifier "iVar30") (+ "+") (identifier "iVar21"))) (; ";")) (goto_statement "goto LAB_001488f8;" (goto "goto") (statement_identifier "LAB_001488f8") (; ";")) (} "}")))) (if_statement "if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;" (if "if") (parenthesized_expression "((piStack_140 == (int *)0x0) && (uStack_13c == 1))" (( "(") (binary_expression "(piStack_140 == (int *)0x0) && (uStack_13c == 1)" (parenthesized_expression "(piStack_140 == (int *)0x0)" (( "(") (binary_expression "piStack_140 == (int *)0x0" (identifier "piStack_140") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(uStack_13c == 1)" (( "(") (binary_expression "uStack_13c == 1" (identifier "uStack_13c") (== "==") (number_literal "1")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar16 = piVar7[0x1c] + iVar30;" (assignment_expression "iVar16 = piVar7[0x1c] + iVar30" (identifier "iVar16") (= "=") (binary_expression "piVar7[0x1c] + iVar30" (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (identifier "iVar30"))) (; ";")) (expression_statement "uVar17 = *(uint *)(iVar16 + 0xc);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0xc)" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)(iVar16 + 0xc)" (* "*") (cast_expression "(uint *)(iVar16 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xc)" (( "(") (binary_expression "iVar16 + 0xc" (identifier "iVar16") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar16 + 0xc) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0xc) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0xc)" (* "*") (cast_expression "(uint *)(iVar16 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xc)" (( "(") (binary_expression "iVar16 + 0xc" (identifier "iVar16") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "*(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);" (assignment_expression "*(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8)" (pointer_expression "*(uint *)(iVar16 + 8)" (* "*") (cast_expression "(uint *)(iVar16 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 8)" (( "(") (binary_expression "iVar16 + 8" (identifier "iVar16") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < uVar17)" (( "(") (binary_expression "uVar14 < uVar17" (identifier "uVar14") (< "<") (identifier "uVar17")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar16 + 8)" (* "*") (cast_expression "(int *)(iVar16 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 8)" (( "(") (binary_expression "iVar16 + 8" (identifier "iVar16") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (expression_statement "iVar18 = piVar7[0x1c];" (assignment_expression "iVar18 = piVar7[0x1c]" (identifier "iVar18") (= "=") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "ppiVar5 = *(int ***)(iVar18 + 0xc);" (assignment_expression "ppiVar5 = *(int ***)(iVar18 + 0xc)" (identifier "ppiVar5") (= "=") (pointer_expression "*(int ***)(iVar18 + 0xc)" (* "*") (cast_expression "(int ***)(iVar18 + 0xc)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar18 + 0xc)" (( "(") (binary_expression "iVar18 + 0xc" (identifier "iVar18") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(iVar18 + 8);" (assignment_expression "iVar16 = *(int *)(iVar18 + 8)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar18 + 8)" (* "*") (cast_expression "(int *)(iVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 8)" (( "(") (binary_expression "iVar18 + 8" (identifier "iVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" (identifier "ppiVar13") (= "=") (cast_expression "(int **)((int)ppiVar5 + 1)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar5 + 1)" (( "(") (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(int ***)(iVar18 + 0xc) = ppiVar13;" (assignment_expression "*(int ***)(iVar18 + 0xc) = ppiVar13" (pointer_expression "*(int ***)(iVar18 + 0xc)" (* "*") (cast_expression "(int ***)(iVar18 + 0xc)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar18 + 0xc)" (( "(") (binary_expression "iVar18 + 0xc" (identifier "iVar18") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "ppiVar13")) (; ";")) (expression_statement "*(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*(uint *)(iVar18 + 8)" (* "*") (cast_expression "(uint *)(iVar18 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 8)" (( "(") (binary_expression "iVar18 + 8" (identifier "iVar18") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ppiVar13 < ppiVar5)" (( "(") (binary_expression "ppiVar13 < ppiVar5" (identifier "ppiVar13") (< "<") (identifier "ppiVar5")) () ")"))) (+ "+") (identifier "iVar16"))) (; ";")) (} "}"))) (if_statement "if (iVar6 <= iVar21) break;" (if "if") (parenthesized_expression "(iVar6 <= iVar21)" (( "(") (binary_expression "iVar6 <= iVar21" (identifier "iVar6") (<= "<=") (identifier "iVar21")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" (identifier "uStack_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" (identifier "piStack_140") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" (identifier "iVar16") (= "=") (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(iVar27 + iVar21,&piStack_140)" (( "(") (binary_expression "iVar27 + iVar21" (identifier "iVar27") (+ "+") (identifier "iVar21")) (, ",") (pointer_expression "&piStack_140" (& "&") (identifier "piStack_140")) () ")")))) (; ";")) (expression_statement "iVar21 = iVar16 + iVar21;" (assignment_expression "iVar21 = iVar16 + iVar21" (identifier "iVar21") (= "=") (binary_expression "iVar16 + iVar21" (identifier "iVar16") (+ "+") (identifier "iVar21"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }" (else "else") (compound_statement "{\n            iVar16 = piVar7[0x1c];\n            uVar17 = *(uint *)(iVar16 + 0x1c);\n            uVar14 = uVar17 + 1;\n            *(uint *)(iVar16 + 0x1c) = uVar14;\n            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);\n            iVar30 = piVar7[0x1c];\n            ppiVar5 = *(int ***)(iVar30 + 0xc);\n            iVar16 = *(int *)(iVar30 + 8);\n            ppiVar13 = (int **)((int)ppiVar5 + 1);\n            *(int ***)(iVar30 + 0xc) = ppiVar13;\n            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;\n            if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }\n          }" ({ "{") (expression_statement "iVar16 = piVar7[0x1c];" (assignment_expression "iVar16 = piVar7[0x1c]" (identifier "iVar16") (= "=") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "uVar17 = *(uint *)(iVar16 + 0x1c);" (assignment_expression "uVar17 = *(uint *)(iVar16 + 0x1c)" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)(iVar16 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar16 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x1c)" (( "(") (binary_expression "iVar16 + 0x1c" (identifier "iVar16") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar14 = uVar17 + 1;" (assignment_expression "uVar14 = uVar17 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar16 + 0x1c) = uVar14;" (assignment_expression "*(uint *)(iVar16 + 0x1c) = uVar14" (pointer_expression "*(uint *)(iVar16 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar16 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x1c)" (( "(") (binary_expression "iVar16 + 0x1c" (identifier "iVar16") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);" (assignment_expression "*(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (pointer_expression "*(uint *)(iVar16 + 0x18)" (* "*") (cast_expression "(uint *)(iVar16 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x18)" (( "(") (binary_expression "iVar16 + 0x18" (identifier "iVar16") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "(uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18)" (call_expression "(uint)(uVar14 < uVar17)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < uVar17)" (( "(") (binary_expression "uVar14 < uVar17" (identifier "uVar14") (< "<") (identifier "uVar17")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar16 + 0x18)" (* "*") (cast_expression "(int *)(iVar16 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x18)" (( "(") (binary_expression "iVar16 + 0x18" (identifier "iVar16") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (expression_statement "iVar30 = piVar7[0x1c];" (assignment_expression "iVar30 = piVar7[0x1c]" (identifier "iVar30") (= "=") (subscript_expression "piVar7[0x1c]" (identifier "piVar7") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "ppiVar5 = *(int ***)(iVar30 + 0xc);" (assignment_expression "ppiVar5 = *(int ***)(iVar30 + 0xc)" (identifier "ppiVar5") (= "=") (pointer_expression "*(int ***)(iVar30 + 0xc)" (* "*") (cast_expression "(int ***)(iVar30 + 0xc)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar30 + 0xc)" (( "(") (binary_expression "iVar30 + 0xc" (identifier "iVar30") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(iVar30 + 8);" (assignment_expression "iVar16 = *(int *)(iVar30 + 8)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar30 + 8)" (* "*") (cast_expression "(int *)(iVar30 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + 8)" (( "(") (binary_expression "iVar30 + 8" (identifier "iVar30") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "ppiVar13 = (int **)((int)ppiVar5 + 1);" (assignment_expression "ppiVar13 = (int **)((int)ppiVar5 + 1)" (identifier "ppiVar13") (= "=") (cast_expression "(int **)((int)ppiVar5 + 1)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar5 + 1)" (( "(") (binary_expression "(int)ppiVar5 + 1" (cast_expression "(int)ppiVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(int ***)(iVar30 + 0xc) = ppiVar13;" (assignment_expression "*(int ***)(iVar30 + 0xc) = ppiVar13" (pointer_expression "*(int ***)(iVar30 + 0xc)" (* "*") (cast_expression "(int ***)(iVar30 + 0xc)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar30 + 0xc)" (( "(") (binary_expression "iVar30 + 0xc" (identifier "iVar30") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "ppiVar13")) (; ";")) (expression_statement "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;" (assignment_expression "*(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16" (pointer_expression "*(uint *)(iVar30 + 8)" (* "*") (cast_expression "(uint *)(iVar30 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + 8)" (( "(") (binary_expression "iVar30 + 8" (identifier "iVar30") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(uint)(ppiVar13 < ppiVar5) + iVar16" (call_expression "(uint)(ppiVar13 < ppiVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ppiVar13 < ppiVar5)" (( "(") (binary_expression "ppiVar13 < ppiVar5" (identifier "ppiVar13") (< "<") (identifier "ppiVar5")) () ")"))) (+ "+") (identifier "iVar16"))) (; ";")) (if_statement "if (iVar21 < iVar6) {\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }" (if "if") (parenthesized_expression "(iVar21 < iVar6)" (( "(") (binary_expression "iVar21 < iVar6" (identifier "iVar21") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n              uStack_13c = 0;\n              piStack_140 = (int *)0x0;\n              ppiVar13 = &piStack_140;\n              iVar18 = (*pcVar19)(iVar27 + iVar21);\n              iVar30 = 0x10;\n              iVar21 = iVar21 + iVar18;\n              goto LAB_00148a68;\n            }" ({ "{") (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" (identifier "uStack_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" (identifier "piStack_140") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar13 = &piStack_140;" (assignment_expression "ppiVar13 = &piStack_140" (identifier "ppiVar13") (= "=") (pointer_expression "&piStack_140" (& "&") (identifier "piStack_140"))) (; ";")) (expression_statement "iVar18 = (*pcVar19)(iVar27 + iVar21);" (assignment_expression "iVar18 = (*pcVar19)(iVar27 + iVar21)" (identifier "iVar18") (= "=") (call_expression "(*pcVar19)(iVar27 + iVar21)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(iVar27 + iVar21)" (( "(") (binary_expression "iVar27 + iVar21" (identifier "iVar27") (+ "+") (identifier "iVar21")) () ")")))) (; ";")) (expression_statement "iVar30 = 0x10;" (assignment_expression "iVar30 = 0x10" (identifier "iVar30") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "iVar21 = iVar21 + iVar18;" (assignment_expression "iVar21 = iVar21 + iVar18" (identifier "iVar21") (= "=") (binary_expression "iVar21 + iVar18" (identifier "iVar21") (+ "+") (identifier "iVar18"))) (; ";")) (goto_statement "goto LAB_00148a68;" (goto "goto") (statement_identifier "LAB_00148a68") (; ";")) (} "}"))) (} "}")))) (goto_statement "goto LAB_001487f8;" (goto "goto") (statement_identifier "LAB_001487f8") (; ";")) (} "}"))) (if_statement "if (iVar6 <= iVar21) goto LAB_001487f8;" (if "if") (parenthesized_expression "(iVar6 <= iVar21)" (( "(") (binary_expression "iVar6 <= iVar21" (identifier "iVar6") (<= "<=") (identifier "iVar21")) () ")")) (goto_statement "goto LAB_001487f8;" (goto "goto") (statement_identifier "LAB_001487f8") (; ";"))) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" (identifier "uStack_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_140 = (int *)0x0;" (assignment_expression "piStack_140 = (int *)0x0" (identifier "piStack_140") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);" (assignment_expression "iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140)" (identifier "iVar30") (= "=") (call_expression "(*pcVar19)(iVar27 + iVar21,&piStack_140)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(iVar27 + iVar21,&piStack_140)" (( "(") (binary_expression "iVar27 + iVar21" (identifier "iVar27") (+ "+") (identifier "iVar21")) (, ",") (pointer_expression "&piStack_140" (& "&") (identifier "piStack_140")) () ")")))) (; ";")) (expression_statement "iVar30 = iVar21 + iVar30;" (assignment_expression "iVar30 = iVar21 + iVar30" (identifier "iVar30") (= "=") (binary_expression "iVar21 + iVar30" (identifier "iVar21") (+ "+") (identifier "iVar30"))) (; ";")) (goto_statement "goto LAB_001488f8;" (goto "goto") (statement_identifier "LAB_001488f8") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_001487f8:\n    piVar7[0x1a] = 0;" (statement_identifier "LAB_001487f8") (: ":") (expression_statement "piVar7[0x1a] = 0;" (assignment_expression "piVar7[0x1a] = 0" (subscript_expression "piVar7[0x1a]" (identifier "piVar7") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";"))) (} "}")))) (labeled_statement "LAB_001487fc:\n  piVar12 = (int *)0x0;" (statement_identifier "LAB_001487fc") (: ":") (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (labeled_statement "LAB_00148800:\n  if (iStack_134 == *piVar10) {\n    return piVar12;\n  }" (statement_identifier "LAB_00148800") (: ":") (if_statement "if (iStack_134 == *piVar10) {\n    return piVar12;\n  }" (if "if") (parenthesized_expression "(iStack_134 == *piVar10)" (( "(") (binary_expression "iStack_134 == *piVar10" (identifier "iStack_134") (== "==") (pointer_expression "*piVar10" (* "*") (identifier "piVar10"))) () ")")) (compound_statement "{\n    return piVar12;\n  }" ({ "{") (return_statement "return piVar12;" (return "return") (identifier "piVar12") (; ";")) (} "}")))) (expression_statement "pcVar15 = *(code **)(iVar31 + -0x7b28);" (assignment_expression "pcVar15 = *(code **)(iVar31 + -0x7b28)" (identifier "pcVar15") (= "=") (pointer_expression "*(code **)(iVar31 + -0x7b28)" (* "*") (cast_expression "(code **)(iVar31 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar31 + -0x7b28)" (( "(") (binary_expression "iVar31 + -0x7b28" (identifier "iVar31") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "iVar6 = iStack_134;" (assignment_expression "iVar6 = iStack_134" (identifier "iVar6") (= "=") (identifier "iStack_134")) (; ";")) (expression_statement "(*pcVar15)();" (call_expression "(*pcVar15)()" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar10 = ppiVar13[1];" (assignment_expression "piVar10 = ppiVar13[1]" (identifier "piVar10") (= "=") (subscript_expression "ppiVar13[1]" (identifier "ppiVar13") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }" (if "if") (parenthesized_expression "((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10))" (( "(") (binary_expression "(ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)" (parenthesized_expression "(ppiVar13[7] == (int *)0x0)" (( "(") (binary_expression "ppiVar13[7] == (int *)0x0" (subscript_expression "ppiVar13[7]" (identifier "ppiVar13") ([ "[") (number_literal "7") (] "]")) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)" (( "(") (comma_expression "iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10" (assignment_expression "iVar31 = *(int *)(pcVar15 + 0x47f90)" (identifier "iVar31") (= "=") (pointer_expression "*(int *)(pcVar15 + 0x47f90)" (* "*") (cast_expression "(int *)(pcVar15 + 0x47f90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar15 + 0x47f90)" (( "(") (binary_expression "pcVar15 + 0x47f90" (identifier "pcVar15") (+ "+") (number_literal "0x47f90")) () ")"))))) (, ",") (binary_expression "0 < (int)piVar10" (number_literal "0") (< "<") (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")))) () ")"))) () ")")) (compound_statement "{\n    iVar30 = 0;\n    iVar27 = *(int *)(pcVar15 + 0x47f68);\n    do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));\n  }" ({ "{") (expression_statement "iVar30 = 0;" (assignment_expression "iVar30 = 0" (identifier "iVar30") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar27 = *(int *)(pcVar15 + 0x47f68);" (assignment_expression "iVar27 = *(int *)(pcVar15 + 0x47f68)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcVar15 + 0x47f68)" (* "*") (cast_expression "(int *)(pcVar15 + 0x47f68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar15 + 0x47f68)" (( "(") (binary_expression "pcVar15 + 0x47f68" (identifier "pcVar15") (+ "+") (number_literal "0x47f68")) () ")"))))) (; ";")) (do_statement "do {\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));" (do "do") (compound_statement "{\n      iVar21 = 0;\n      iVar18 = (*ppiVar13)[iVar30];\n      do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);\n      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }\n      iVar30 = iVar30 + 1;\n    }" ({ "{") (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar18 = (*ppiVar13)[iVar30];" (assignment_expression "iVar18 = (*ppiVar13)[iVar30]" (identifier "iVar18") (= "=") (subscript_expression "(*ppiVar13)[iVar30]" (parenthesized_expression "(*ppiVar13)" (( "(") (pointer_expression "*ppiVar13" (* "*") (identifier "ppiVar13")) () ")")) ([ "[") (identifier "iVar30") (] "]"))) (; ";")) (do_statement "do {\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      } while (iVar21 < 0);" (do "do") (compound_statement "{\n        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);\n        if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }\n        if (iVar16 == 0) break;\n        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);\n      }" ({ "{") (expression_statement "piVar7 = (int *)FUN_001477fc(iVar6,iVar18);" (assignment_expression "piVar7 = (int *)FUN_001477fc(iVar6,iVar18)" (identifier "piVar7") (= "=") (cast_expression "(int *)FUN_001477fc(iVar6,iVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001477fc(iVar6,iVar18)" (identifier "FUN_001477fc") (argument_list "(iVar6,iVar18)" (( "(") (identifier "iVar6") (, ",") (identifier "iVar18") () ")"))))) (; ";")) (if_statement "if (piVar7 != (int *)0x0) {\n          return piVar7;\n        }" (if "if") (parenthesized_expression "(piVar7 != (int *)0x0)" (( "(") (binary_expression "piVar7 != (int *)0x0" (identifier "piVar7") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          return piVar7;\n        }" ({ "{") (return_statement "return piVar7;" (return "return") (identifier "piVar7") (; ";")) (} "}"))) (if_statement "if (iVar16 == 0) break;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);" (assignment_expression "iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29)" (identifier "iVar21") (= "=") (call_expression "(*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29)" (parenthesized_expression "(*(code *)(iVar27 + -0x441c))" (( "(") (pointer_expression "*(code *)(iVar27 + -0x441c)" (* "*") (cast_expression "(code *)(iVar27 + -0x441c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + -0x441c)" (( "(") (binary_expression "iVar27 + -0x441c" (identifier "iVar27") (+ "+") (number_literal "-0x441c")) () ")")))) () ")")) (argument_list "(iVar18,iVar16,iVar29)" (( "(") (identifier "iVar18") (, ",") (identifier "iVar16") (, ",") (identifier "iVar29") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 < 0)" (( "(") (binary_expression "iVar21 < 0" (identifier "iVar21") (< "<") (number_literal "0")) () ")")) (; ";")) (if_statement "if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }" (if "if") (parenthesized_expression "((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0))" (( "(") (binary_expression "(*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)" (parenthesized_expression "(*(char *)(iVar18 + 4) != '\0')" (( "(") (binary_expression "*(char *)(iVar18 + 4) != '\0'" (pointer_expression "*(char *)(iVar18 + 4)" (* "*") (cast_expression "(char *)(iVar18 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 4)" (( "(") (binary_expression "iVar18 + 4" (identifier "iVar18") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        (*(code *)(iVar31 + -0x4e9c))(iVar18);\n      }" ({ "{") (expression_statement "(*(code *)(iVar31 + -0x4e9c))(iVar18);" (call_expression "(*(code *)(iVar31 + -0x4e9c))(iVar18)" (parenthesized_expression "(*(code *)(iVar31 + -0x4e9c))" (( "(") (pointer_expression "*(code *)(iVar31 + -0x4e9c)" (* "*") (cast_expression "(code *)(iVar31 + -0x4e9c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + -0x4e9c)" (( "(") (binary_expression "iVar31 + -0x4e9c" (identifier "iVar31") (+ "+") (number_literal "-0x4e9c")) () ")")))) () ")")) (argument_list "(iVar18)" (( "(") (identifier "iVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar30 = iVar30 + 1;" (assignment_expression "iVar30 = iVar30 + 1" (identifier "iVar30") (= "=") (binary_expression "iVar30 + 1" (identifier "iVar30") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]))" (( "(") (binary_expression "(ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1])" (parenthesized_expression "(ppiVar13[7] == (int *)0x0)" (( "(") (binary_expression "ppiVar13[7] == (int *)0x0" (subscript_expression "ppiVar13[7]" (identifier "ppiVar13") ([ "[") (number_literal "7") (] "]")) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar30 < (int)ppiVar13[1])" (( "(") (binary_expression "iVar30 < (int)ppiVar13[1]" (identifier "iVar30") (< "<") (cast_expression "(int)ppiVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppiVar13[1]" (identifier "ppiVar13") ([ "[") (number_literal "1") (] "]")))) () ")"))) () ")")) (; ";")) (} "}"))) (expression_statement "(*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);" (call_expression "(*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))\n            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828)" (* "*") (cast_expression "(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar15 + 0x47f00) + 0x5828)" (( "(") (binary_expression "*(int *)(pcVar15 + 0x47f00) + 0x5828" (pointer_expression "*(int *)(pcVar15 + 0x47f00)" (* "*") (cast_expression "(int *)(pcVar15 + 0x47f00)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar15 + 0x47f00)" (( "(") (binary_expression "pcVar15 + 0x47f00" (identifier "pcVar15") (+ "+") (number_literal "0x47f00")) () ")")))) (+ "+") (number_literal "0x5828")) () ")")))) () ")")) (argument_list "(*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0)" (( "(") (pointer_expression "*ppiVar13" (* "*") (identifier "ppiVar13")) (, ",") (identifier "piVar10") (, ",") (identifier "piVar10") (, ",") (binary_expression "*(int *)(pcVar15 + 0x47f68) + -0x44f0" (pointer_expression "*(int *)(pcVar15 + 0x47f68)" (* "*") (cast_expression "(int *)(pcVar15 + 0x47f68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar15 + 0x47f68)" (( "(") (binary_expression "pcVar15 + 0x47f68" (identifier "pcVar15") (+ "+") (number_literal "0x47f68")) () ")")))) (+ "+") (number_literal "-0x44f0")) () ")"))) (; ";")) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (number_literal) (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (number_literal) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression 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: (pointer_expression argument: (cast_expression 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 (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (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)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (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)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (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)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (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)) (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (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))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (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)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))))) (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (identifier)))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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)) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) 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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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)) (pointer_expression argument: (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: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (true)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier))))))) (goto_statement label: (statement_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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (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))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (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) (identifier) (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier) (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))))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))

int * MASKED(code *param_1,undefined4 param_2,int *param_3,code *param_4)

{
  code cVar1;
  undefined *puVar2;
  undefined *puVar3;
  code *pcVar4;
  int **ppiVar5;
  int iVar6;
  int *piVar7;
  code *pcVar8;
  undefined4 uVar9;
  int *piVar10;
  undefined4 uVar11;
  int extraout_v1;
  int *piVar12;
  int **ppiVar13;
  uint uVar14;
  code *pcVar15;
  int iVar16;
  uint uVar17;
  int iVar18;
  code *pcVar19;
  int *piVar20;
  int iVar21;
  undefined *puVar22;
  int *piVar23;
  undefined4 *puVar24;
  undefined4 *puVar25;
  int *piVar26;
  int *unaff_s7;
  int iVar27;
  undefined *puVar28;
  int iVar29;
  int iVar30;
  int iVar31;
  undefined4 uVar32;
  int *piStack_140;
  uint uStack_13c;
  code *pcStack_138;
  int iStack_134;
  int *piStack_130;
  code *pcStack_12c;
  code *pcStack_128;
  int *piStack_124;
  code *pcStack_120;
  code *pcStack_11c;
  code *pcStack_118;
  int *piStack_114;
  int *piStack_110;
  undefined4 uStack_10c;
  int **ppiStack_f8;
  undefined4 uStack_f4;
  code *pcStack_f0;
  int *piStack_e8;
  int *piStack_e4;
  int *piStack_dc;
  code *pcStack_d8;
  undefined *puStack_d4;
  undefined4 *puStack_d0;
  undefined4 *puStack_cc;
  code *pcStack_c8;
  undefined4 uStack_c4;
  undefined *puStack_b0;
  code *pcStack_a4;
  int iStack_a0;
  int *piStack_9c;
  code *pcStack_98;
  code *pcStack_94;
  undefined *puStack_90;
  undefined4 *puStack_8c;
  undefined4 *puStack_88;
  code *pcStack_84;
  int *piStack_80;
  int *piStack_7c;
  int *piStack_78;
  code *pcStack_74;
  code *pcStack_6c;
  undefined8 local_60;
  undefined4 local_50;
  undefined4 local_3c;
  int *local_38;
  undefined4 local_34;
  undefined4 local_30;
  int local_2c;
  
  puVar22 = PTR___stack_chk_guard_00190e24;
  puVar25 = &local_30;
  puVar24 = &local_34;
  pcVar15 = (code *)&DAT_00000007;
  local_38 = (int *)0x0;
  pcVar19 = (code *)(PTR_LAB_00190c64 + 0x10f8);
  local_2c = *(int *)PTR___stack_chk_guard_00190e24;
  local_3c = param_2;
  local_34 = param_2;
  piStack_78 = (int *)(*pcVar19)(param_1,7,puVar25,puVar24);
  puVar28 = PTR_sqlite3_step_00190990;
  piVar10 = unaff_s7;
  if (piStack_78 == (int *)0x0) {
    iVar6 = (*(code *)PTR_sqlite3_step_00190990)(local_30);
    if (iVar6 == 100) {
      if (*(int *)(param_1 + 0x2c) == 0) {
        local_50 = 0;
      }
      else {
        local_50 = (*(code *)PTR_sqlite3_column_int_00190a4c)(local_30,*(int *)(param_1 + 0x18) + 1)
        ;
      }
      local_60 = (*(code *)PTR_sqlite3_column_int64_001909a4)(local_30,0);
      pcVar15 = (code *)0x1;
      piVar7 = (int *)FUN_0014a33c(param_1,1,local_50);
      puVar3 = PTR_sqlite3_column_text_001909a8;
      puVar2 = PTR_sqlite3_column_bytes_0019099c;
      if (piVar7 == (int *)0x0) {
        piVar12 = (int *)0x1;
        pcVar8 = (code *)(PTR_LAB_00190bc0 + -0x483c);
        do {
          piVar10 = (int *)PTR_sqlite3_reset_00190a5c;
          if (*(int *)(param_1 + 0x18) < (int)piVar12) {
LAB_0014a6b4:
            local_38 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);
            piStack_78 = local_38;
            if (local_38 != (int *)0x0) goto LAB_0014a65c;
            local_34 = local_3c;
            if (*(int *)(param_1 + 0x28) == 0) {
              pcVar15 = (code *)0x1;
              piStack_78 = (int *)(*pcVar19)(param_1,1,puVar25,puVar24);
              if (piStack_78 != (int *)0x0) goto LAB_0014a65c;
              iVar6 = (*(code *)puVar28)(local_30);
              if (iVar6 == 100) {
                pcVar15 = (code *)0x0;
                pcVar19 = (code *)(*(code *)PTR_sqlite3_column_int_00190a4c)(local_30);
                piStack_78 = (int *)(*(code *)piVar10)(local_30);
                local_38 = piStack_78;
                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;
                if (pcVar19 != (code *)0x0) {
                  piStack_78 = (int *)FUN_0012dd5c(param_1,1);
                  pcVar15 = (code *)0x0;
                  *param_3 = 0;
                  (*(code *)PTR_memset_00190d58)(param_4,0,(*(int *)(param_1 + 0x18) + 1) * 8);
                  goto LAB_0014a65c;
                }
              }
              else {
                piStack_78 = (int *)(*(code *)piVar10)();
                local_38 = piStack_78;
                if (piStack_78 != (int *)0x0) goto LAB_0014a65c;
              }
            }
            *param_3 = *param_3 + -1;
            if (*(int *)(param_1 + 0x28) == 0) {
              pcVar15 = param_1;
              FUN_0012dcb0(&local_38,param_1,0,&local_3c);
            }
            piStack_78 = local_38;
            if ((param_1[0xea] != (code)0x0) && (local_38 == (int *)0x0)) {
              pcVar15 = param_1;
              FUN_0012dcb0(&local_38,param_1,0x13,&local_3c);
              piStack_78 = local_38;
            }
            goto LAB_0014a65c;
          }
          pcVar15 = *(code **)(param_1 + 0x20);
          cVar1 = pcVar15[(int)piVar12 + -1];
          piVar7 = (int *)((int)piVar12 + -1);
          unaff_s7 = piVar12;
          while (cVar1 != (code)0x0) {
            piVar12 = (int *)((int)unaff_s7 + 1);
            if (*(int *)(param_1 + 0x18) < (int)piVar12) goto LAB_0014a6b4;
            piVar7 = unaff_s7;
            unaff_s7 = piVar12;
            cVar1 = (pcVar15 + (int)piVar12)[-1];
          }
          uVar9 = (*(code *)puVar3)(local_30,unaff_s7);
          local_60._0_4_ = param_4 + (int)piVar7 * 4;
          piVar7 = (int *)(*pcVar8)(param_1,local_50,uVar9,0xffffffff);
          iVar6 = (*(code *)puVar2)(local_30,unaff_s7);
          piVar12 = (int *)((int)unaff_s7 + 1);
          pcVar15 = param_4 + *(int *)(param_1 + 0x18) * 4;
          *(int *)pcVar15 = *(int *)pcVar15 + iVar6;
        } while (piVar7 == (int *)0x0);
      }
      (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);
      piVar10 = unaff_s7;
      piStack_78 = piVar7;
    }
    else {
      piStack_78 = (int *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_30);
    }
  }
  else {
    (*(code *)PTR_sqlite3_reset_00190a5c)(local_30);
  }
LAB_0014a65c:
  if (local_2c == *(int *)puVar22) {
    return piStack_78;
  }
  pcVar8 = FUN_0014a840;
  iVar6 = local_2c;
  puVar28 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_b0 = puVar28 + 0x4e0e0;
  piVar7 = &iStack_a0;
  puStack_90 = puVar22;
  piVar26 = *(int **)(puVar28 + 0x465e4);
  iStack_a0 = 0;
  piStack_9c = (int *)*piVar26;
  pcStack_98 = pcVar19;
  pcStack_94 = param_1;
  puStack_8c = puVar24;
  puStack_88 = puVar25;
  pcStack_84 = param_4;
  piStack_80 = param_3;
  piStack_7c = piVar10;
  pcStack_74 = pcVar8;
  pcStack_6c = pcVar15;
  piVar12 = (int *)(*(code *)(*(int *)(puVar28 + 0x46424) + 0x10f8))();
  if (piVar12 == (int *)0x0) {
    pcVar15 = *(code **)(puStack_b0 + -0x7e90);
    puVar24 = (undefined4 *)0x0;
    pcStack_a4 = *(code **)(puStack_b0 + -0x7ed4);
    param_4 = *(code **)(puStack_b0 + -0x7f90);
    (*pcVar15)(iStack_a0,1,*(int *)(iVar6 + 0x118) >> 0x1f);
    piVar7 = (int *)(*(int *)(iVar6 + 0xfc) >> 0x1f);
    (*pcVar15)(iStack_a0,2);
    puVar22 = (undefined *)(*(int *)(puStack_b0 + -0x7d6c) + -0x7224);
LAB_0014a978:
    puVar25 = (undefined4 *)&DAT_00000064;
    piVar10 = (int *)0x0;
    iVar29 = (*param_4)(iStack_a0);
    while (iVar29 == 100) {
      param_1 = (code *)0x65;
      uVar9 = (*pcStack_a4)(iStack_a0,0);
      piVar12 = piVar10;
      while (piVar10 == (int *)0x0) {
        if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;
        while( true ) {
          piVar7 = piVar12;
          piVar10 = (int *)FUN_00148ddc(iVar6,uVar9,piVar12,0xfffffffe);
          piVar12 = (int *)((int)piVar12 + 1);
          if (piVar10 != (int *)0x65) break;
          puVar24 = (undefined4 *)0x1;
          if (*(int *)(iVar6 + 0xfc) <= (int)piVar12) goto LAB_0014a978;
        }
      }
      iVar29 = (*param_4)(iStack_a0);
    }
    piVar20 = (int *)(**(code **)(puStack_b0 + -0x7ec4))();
    piVar12 = piVar10;
    if (piVar10 != (int *)0x0) goto LAB_0014a8bc;
    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));
    iVar29 = *(int *)(puStack_b0 + -0x7d78);
    *(undefined4 *)(iVar6 + 0xf8) = 0;
    (*(code *)(iVar29 + -0x550))(iVar6);
    if (((piVar20 == (int *)0x0) && (pcStack_6c != (code *)0x0)) &&
       (piVar20 = (int *)0x65, puVar24 == (undefined4 *)0x0)) {
      piVar20 = (int *)0x0;
    }
  }
  else {
LAB_0014a8bc:
    piVar20 = piVar12;
    (**(code **)(puStack_b0 + -0x7ccc))(*(undefined4 *)(iVar6 + 0xf8));
    iVar29 = *(int *)(puStack_b0 + -0x7d78);
    *(undefined4 *)(iVar6 + 0xf8) = 0;
    (*(code *)(iVar29 + -0x550))(iVar6);
  }
  if (piStack_9c == (int *)*piVar26) {
    return piVar20;
  }
  pcVar8 = *(code **)(puStack_b0 + -0x7b28);
  uVar9 = 0x14aa90;
  piVar12 = piStack_9c;
  (*pcVar8)();
  ppiStack_f8 = &piStack_e8;
  piStack_dc = piVar20;
  pcStack_f0 = pcVar8 + 0x4de90;
  puStack_cc = puVar25;
  pcVar19 = (code *)(piVar12 + 5);
  puStack_d4 = puVar22;
  uStack_c4 = uVar9;
  pcStack_c8 = param_4;
  puStack_d0 = puVar24;
  pcStack_d8 = param_1;
  piVar20 = *(int **)(pcVar8 + 0x46394);
  iVar16 = *piVar7;
  piStack_e4 = (int *)*piVar20;
  piVar7 = piVar12;
  pcVar15 = pcVar19;
  iVar29 = (*(code *)(*(int *)(pcVar8 + 0x4613c) + -0x2a6c))();
  if (iVar29 == 0) {
    iVar16 = 0;
    param_4 = *(code **)(pcStack_f0 + -0x7ed8);
    puVar24 = (undefined4 *)*piStack_e8;
    ppiStack_f8 = (int **)0x0;
    param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd30,0);
    if (param_1 != (code *)0x0) goto LAB_0014ab6c;
    param_1 = (code *)FUN_0014a840(puVar24,1);
    if (param_1 == (code *)0x0) {
      iVar16 = 0;
      ppiStack_f8 = (int **)0x0;
      param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);
      if (param_1 != (code *)0x0) goto LAB_0014ab6c;
      (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);
      puVar24[0x3e] = 0;
LAB_0014abe4:
      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd64;
    }
    else {
      iVar16 = 0;
      ppiStack_f8 = (int **)0x0;
      if (param_1 == (code *)0x65) {
        param_1 = (code *)(*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);
        if (param_1 != (code *)0x0) goto LAB_0014ab6c;
        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);
        puVar24[0x3e] = 0;
      }
      else {
        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd40);
        iVar16 = 0;
        ppiStack_f8 = (int **)0x0;
        (*param_4)(puVar24[3],*(int *)(pcStack_f0 + -0x7fc4) + 0xd54,0);
LAB_0014ab6c:
        (**(code **)(pcStack_f0 + -0x7ccc))(puVar24[0x3e]);
        puVar24[0x3e] = 0;
        if (param_1 == (code *)0x0) goto LAB_0014abe4;
        if (param_1 != (code *)0x65) {
          piVar7 = piVar12;
          pcVar15 = param_1;
          (**(code **)(pcStack_f0 + -0x7f4c))();
          goto LAB_0014ab04;
        }
      }
      iVar29 = *(int *)(pcStack_f0 + -0x7fc4) + 0xd74;
    }
    uStack_f4 = 0;
    iVar16 = -1;
    ppiStack_f8 = (int **)0x1;
    piVar7 = piVar12;
    pcVar15 = pcVar19;
    (*(code *)(*(int *)(pcStack_f0 + -0x7d60) + -0x13c0))(piVar12,pcVar19,iVar29);
  }
LAB_0014ab04:
  if (piStack_e4 == (int *)*piVar20) {
    return (int *)*piVar20;
  }
  pcVar8 = *(code **)(pcStack_f0 + -0x7b28);
  uVar32 = 0x14ace0;
  (*pcVar8)();
  ppiVar13 = ppiStack_f8;
  pcStack_138 = pcVar8 + 0x4dc40;
  piVar23 = piVar7 + 1;
  uVar9 = *(undefined4 *)(*piVar7 + 0xc);
  pcStack_12c = (code *)piVar20;
  pcStack_128 = param_1;
  piStack_124 = piVar12;
  pcStack_120 = (code *)puVar24;
  pcStack_11c = pcVar19;
  pcStack_118 = param_4;
  piStack_114 = piVar26;
  piStack_110 = piVar10;
  uStack_10c = uVar32;
  if (pcVar15 == (code *)0x1) {
    if (iVar16 < 2) {
      pcVar15 = *(code **)(pcVar8 + 0x45c8c);
      iVar31 = -1;
      uVar32 = 0;
      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);
      (*pcVar15)(piVar7[0xf]);
      iVar29 = -1;
      (*pcVar15)(piVar7[0x1c]);
      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);
      piVar7[0x12] = 3;
    }
    else {
      pcVar15 = *(code **)(pcVar8 + 0x45c8c);
      iVar31 = -1;
      uVar32 = 0;
      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);
      (*pcVar15)(piVar7[0xf]);
      iVar29 = 1;
      (*pcVar15)(piVar7[0x1c]);
      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);
      piVar7[0x12] = 3;
    }
LAB_0014adbc:
    iVar16 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(*ppiVar13,1);
    if (iVar16 != 0) {
      iVar16 = (**(code **)(pcStack_138 + -0x7fbc))
                         (*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,iVar16);
      piVar7[0xf] = iVar16;
      if (iVar16 == 0) goto LAB_0014b0b0;
      iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);
      piVar7[0x10] = iVar16;
    }
  }
  else {
    if (((uint)pcVar15 & 2) == 0) {
      iVar27 = -1;
      iVar29 = 0;
      iVar31 = 0;
      if (((uint)pcVar15 & 4) == 0) goto LAB_0014aea4;
LAB_0014ad4c:
      iVar29 = iVar31 + 1;
      iVar30 = *(int *)(pcVar8 + 0x45ef0);
      if (iVar29 < iVar16) goto LAB_0014aeb4;
LAB_0014ad60:
      pcVar15 = *(code **)(pcVar8 + 0x45c8c);
      (*(code *)(*(int *)(pcVar8 + 0x45ef0) + -0x5eb4))(piVar23);
      (*pcVar15)(piVar7[0xf]);
      iVar29 = -1;
      (*pcVar15)(piVar7[0x1c]);
      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);
      piVar7[0x12] = 0x13;
    }
    else {
      iVar29 = 1;
      iVar27 = 0;
      iVar31 = iVar29;
      if (((uint)pcVar15 & 4) != 0) goto LAB_0014ad4c;
LAB_0014aea4:
      iVar31 = -1;
      if (iVar16 <= iVar29) goto LAB_0014ad60;
      iVar30 = *(int *)(pcVar8 + 0x45ef0);
LAB_0014aeb4:
      pcVar15 = *(code **)(pcVar8 + 0x45c8c);
      (*(code *)(iVar30 + -0x5eb4))(piVar23);
      (*pcVar15)(piVar7[0xf]);
      (*pcVar15)(piVar7[0x1c]);
      (**(code **)(pcStack_138 + -0x7bc8))(piVar23,0,0x74);
      piVar7[0x12] = 0x13;
    }
    uVar32 = 1;
    if (iVar27 == 0) goto LAB_0014adbc;
  }
  if (iVar31 == -1) {
    if (iVar29 != -1) goto LAB_0014af60;
LAB_0014ae20:
    iVar29 = 0;
  }
  else {
    uVar11 = (*(code *)(*(int *)(pcStack_138 + -0x7d60) + 0x6f60))(ppiVar13[iVar31],1);
    iVar16 = (**(code **)(pcStack_138 + -0x7fbc))(*(int *)(pcStack_138 + -0x7fc4) + -0x5dfc,uVar11);
    piVar7[0x13] = iVar16;
    if (iVar16 == 0) {
LAB_0014b0b0:
      return (int *)&DAT_00000007;
    }
    iVar16 = (**(code **)(pcStack_138 + -0x7ba0))(iVar16);
    piVar7[0x14] = iVar16;
    if (iVar29 == -1) goto LAB_0014ae20;
LAB_0014af60:
    (*(code *)(*(int *)(pcStack_138 + -0x7d78) + 0x7f68))(ppiVar13[iVar29]);
    iVar29 = extraout_v1;
    if (extraout_v1 < 0) {
      iVar29 = 0;
    }
  }
  piVar7[0x15] = iVar29;
  piStack_140 = piVar23;
  piVar10 = (int *)FUN_001326ac(uVar9,iVar29,0,0xfffffffe,piVar7[0xf],piVar7[0x10],0,uVar32);
  if (piVar10 != (int *)0x0) {
    return piVar10;
  }
  iVar29 = piVar7[0x10];
  piVar7[4] = (int)(piVar7 + 0xf);
  piVar26 = (int *)FUN_00148c40(uVar9,piVar23,piVar7[0xf],iVar29);
  piVar12 = piStack_114;
  pcVar4 = pcStack_118;
  pcVar8 = pcStack_11c;
  pcVar19 = pcStack_120;
  piVar10 = piStack_124;
  pcVar15 = pcStack_128;
  if (piVar26 != (int *)0x0) {
    return piVar26;
  }
  iVar31 = *(int *)(pcStack_138 + -0x7d6c) + 0x48920;
  piStack_130 = (int *)pcStack_12c;
  piStack_114 = piStack_110;
  pcStack_118 = (code *)piVar12;
  pcStack_11c = pcVar4;
  pcStack_120 = pcVar8;
  piStack_124 = (int *)pcVar19;
  pcStack_128 = (code *)piVar10;
  pcStack_12c = pcVar15;
  piVar10 = *(int **)(*(int *)(pcStack_138 + -0x7d6c) + 0x40e24);
  iVar27 = piVar7[0x1a];
  uVar17 = piVar7[0x19] + 1;
  iVar16 = piVar7[0x1b];
  iVar30 = iVar27 + 1;
  iStack_134 = *piVar10;
  uVar9 = *(undefined4 *)(*piVar7 + 0xc);
  piVar7[0x18] = (uint)(uVar17 < (uint)piVar7[0x19]) + piVar7[0x18];
  piVar7[0x19] = uVar17;
  piVar7[0x1a] = iVar30;
  piStack_110 = (int *)iVar6;
  if (iVar30 < iVar16) {
    ppiVar13 = (int **)(iVar30 * 0x10);
    piVar12 = (int *)(piVar7[0x1c] + (int)ppiVar13);
    iVar6 = *piVar12;
    if (iVar6 < 1) {
      if ((iVar6 == 0) && (piVar12[1] != 0)) {
        piVar12 = (int *)0x0;
      }
      else {
        iVar27 = iVar27 + 2;
        iVar6 = (int)ppiVar13 + piVar7[0x1c] + -0x10;
        do {
          piVar7[0x1a] = iVar27;
          if (iVar27 == iVar16) goto LAB_00148750;
          ppiVar13 = *(int ***)(iVar6 + 0x20);
          iVar27 = iVar27 + 1;
          piVar12 = (int *)(iVar6 + 0x24);
          iVar6 = iVar6 + 0x10;
          if (0 < (int)ppiVar13) goto LAB_001487fc;
        } while ((ppiVar13 != (int **)0x0) || (*piVar12 == 0));
        piVar12 = (int *)0x0;
      }
      goto LAB_00148800;
    }
  }
  else {
LAB_00148750:
    ppiVar13 = (int **)(piVar7 + 1);
    piVar12 = (int *)FUN_00147c04(uVar9);
    if (piVar12 != (int *)&DAT_00000064) {
      piVar7[0x16] = 1;
      goto LAB_00148800;
    }
    if (piVar7[0x13] != 0) {
      iVar27 = piVar7[0xc];
      iVar6 = piVar7[0x14];
      ppiVar13 = (int **)piVar7[0xb];
      iVar16 = iVar27;
      if (iVar6 < iVar27) {
        iVar16 = iVar6;
      }
      iVar30 = (**(code **)(iVar31 + -0x7b14))();
      if ((iVar30 < 0) || ((iVar30 == 0 && (iVar6 < iVar27)))) {
        piVar12 = (int *)0x0;
        piVar7[0x16] = 1;
        goto LAB_00148800;
      }
    }
    iVar16 = piVar7[0x1b];
    iVar6 = piVar7[0xe];
    iVar27 = piVar7[0xd];
    if (iVar16 < 2) {
      iVar16 = 2;
      ppiVar13 = (int **)(piVar7 + 0x1c);
      iVar30 = (*(code *)(*(int *)(iVar31 + -0x7cf4) + 0x948))(piVar7 + 0x1b);
      if (iVar30 != 0) {
LAB_00148b9c:
        piVar12 = (int *)&DAT_00000007;
        goto LAB_00148800;
      }
      iVar16 = piVar7[0x1b];
    }
    iVar16 = iVar16 << 4;
    ppiVar13 = (int **)0x0;
    (**(code **)(iVar31 + -0x7bc8))(piVar7[0x1c]);
    if (0 < iVar6) {
      uStack_13c = 0;
      pcVar19 = (code *)(*(int *)(iVar31 + -0x7de0) + 0x3ec8);
      piStack_140 = (int *)0x0;
      iVar30 = (*pcVar19)(iVar27,&piStack_140);
      pcVar15 = (code *)(*(int *)(iVar31 + -0x7cf4) + 0x948);
LAB_001488f8:
      piVar12 = (int *)piVar7[0x1c];
      ppiVar5 = (int **)piVar12[1];
      iVar16 = *piVar12;
      ppiVar13 = (int **)((int)ppiVar5 + 1);
      piVar12[1] = (int)ppiVar13;
      *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;
      if (iVar30 < iVar6) {
        uStack_13c = 0;
        piStack_140 = (int *)0x0;
        ppiVar13 = &piStack_140;
        iVar21 = (*pcVar19)(iVar27 + iVar30);
        iVar21 = iVar21 + iVar30;
        if ((0 < (int)piStack_140) || ((piStack_140 == (int *)0x0 && (1 < uStack_13c)))) {
          iVar16 = piVar7[0x1c];
          uVar17 = *(uint *)(iVar16 + 0x14);
          uVar14 = uVar17 + 1;
          *(uint *)(iVar16 + 0x14) = uVar14;
          *(uint *)(iVar16 + 0x10) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x10);
          iVar16 = piVar7[0x1c];
          uVar17 = *(uint *)(iVar16 + 0x1c);
          uVar14 = uVar17 + 1;
          *(uint *)(iVar16 + 0x1c) = uVar14;
          *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);
          iVar30 = piVar7[0x1c];
          ppiVar5 = *(int ***)(iVar30 + 0xc);
          iVar16 = *(int *)(iVar30 + 8);
          ppiVar13 = (int **)((int)ppiVar5 + 1);
          *(int ***)(iVar30 + 0xc) = ppiVar13;
          *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;
          if (iVar21 < iVar6) {
            uStack_13c = 0;
            piStack_140 = (int *)0x0;
            ppiVar13 = &piStack_140;
            iVar18 = (*pcVar19)(iVar27 + iVar21);
            iVar30 = 0x10;
            iVar21 = iVar21 + iVar18;
            goto LAB_00148a68;
          }
          goto LAB_001487f8;
        }
        if (piStack_140 != (int *)0x0 || uStack_13c != 0) {
          if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) {
            if (iVar21 < iVar6) {
              uStack_13c = 0;
              piStack_140 = (int *)0x0;
              iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);
              iVar21 = iVar21 + iVar16;
              do {
                iVar16 = uStack_13c + 2;
                uVar17 = uStack_13c;
                if (piVar7[0x1b] < iVar16) {
                  ppiVar13 = (int **)(piVar7 + 0x1c);
                  iVar30 = (*pcVar15)(piVar7 + 0x1b);
                  if (iVar30 != 0) goto LAB_00148b9c;
                }
                iVar30 = (uVar17 + 1) * 0x10;
                piVar12 = (int *)(piVar7[0x1c] + iVar30);
                ppiVar5 = (int **)piVar12[1];
                iVar16 = *piVar12;
                ppiVar13 = (int **)((int)ppiVar5 + 1);
                piVar12[1] = (int)ppiVar13;
                *piVar12 = (uint)(ppiVar13 < ppiVar5) + iVar16;
                while( true ) {
                  if (iVar6 <= iVar21) goto LAB_001487f8;
                  uStack_13c = 0;
                  piStack_140 = (int *)0x0;
                  ppiVar13 = &piStack_140;
                  iVar18 = (*pcVar19)(iVar27 + iVar21);
                  iVar21 = iVar21 + iVar18;
LAB_00148a68:
                  if (piStack_140 == (int *)0x0 && uStack_13c == 0) {
                    if (iVar6 <= iVar21) goto LAB_001487f8;
                    uStack_13c = 0;
                    piStack_140 = (int *)0x0;
                    iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);
                    iVar30 = iVar30 + iVar21;
                    goto LAB_001488f8;
                  }
                  if ((piStack_140 == (int *)0x0) && (uStack_13c == 1)) break;
                  iVar16 = piVar7[0x1c] + iVar30;
                  uVar17 = *(uint *)(iVar16 + 0xc);
                  uVar14 = uVar17 + 1;
                  *(uint *)(iVar16 + 0xc) = uVar14;
                  *(uint *)(iVar16 + 8) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 8);
                  iVar18 = piVar7[0x1c];
                  ppiVar5 = *(int ***)(iVar18 + 0xc);
                  iVar16 = *(int *)(iVar18 + 8);
                  ppiVar13 = (int **)((int)ppiVar5 + 1);
                  *(int ***)(iVar18 + 0xc) = ppiVar13;
                  *(uint *)(iVar18 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;
                }
                if (iVar6 <= iVar21) break;
                uStack_13c = 0;
                piStack_140 = (int *)0x0;
                iVar16 = (*pcVar19)(iVar27 + iVar21,&piStack_140);
                iVar21 = iVar16 + iVar21;
              } while( true );
            }
          }
          else {
            iVar16 = piVar7[0x1c];
            uVar17 = *(uint *)(iVar16 + 0x1c);
            uVar14 = uVar17 + 1;
            *(uint *)(iVar16 + 0x1c) = uVar14;
            *(uint *)(iVar16 + 0x18) = (uint)(uVar14 < uVar17) + *(int *)(iVar16 + 0x18);
            iVar30 = piVar7[0x1c];
            ppiVar5 = *(int ***)(iVar30 + 0xc);
            iVar16 = *(int *)(iVar30 + 8);
            ppiVar13 = (int **)((int)ppiVar5 + 1);
            *(int ***)(iVar30 + 0xc) = ppiVar13;
            *(uint *)(iVar30 + 8) = (uint)(ppiVar13 < ppiVar5) + iVar16;
            if (iVar21 < iVar6) {
              uStack_13c = 0;
              piStack_140 = (int *)0x0;
              ppiVar13 = &piStack_140;
              iVar18 = (*pcVar19)(iVar27 + iVar21);
              iVar30 = 0x10;
              iVar21 = iVar21 + iVar18;
              goto LAB_00148a68;
            }
          }
          goto LAB_001487f8;
        }
        if (iVar6 <= iVar21) goto LAB_001487f8;
        uStack_13c = 0;
        piStack_140 = (int *)0x0;
        iVar30 = (*pcVar19)(iVar27 + iVar21,&piStack_140);
        iVar30 = iVar21 + iVar30;
        goto LAB_001488f8;
      }
    }
LAB_001487f8:
    piVar7[0x1a] = 0;
  }
LAB_001487fc:
  piVar12 = (int *)0x0;
LAB_00148800:
  if (iStack_134 == *piVar10) {
    return piVar12;
  }
  pcVar15 = *(code **)(iVar31 + -0x7b28);
  iVar6 = iStack_134;
  (*pcVar15)();
  piVar10 = ppiVar13[1];
  if ((ppiVar13[7] == (int *)0x0) && (iVar31 = *(int *)(pcVar15 + 0x47f90), 0 < (int)piVar10)) {
    iVar30 = 0;
    iVar27 = *(int *)(pcVar15 + 0x47f68);
    do {
      iVar21 = 0;
      iVar18 = (*ppiVar13)[iVar30];
      do {
        piVar7 = (int *)FUN_001477fc(iVar6,iVar18);
        if (piVar7 != (int *)0x0) {
          return piVar7;
        }
        if (iVar16 == 0) break;
        iVar21 = (*(code *)(iVar27 + -0x441c))(iVar18,iVar16,iVar29);
      } while (iVar21 < 0);
      if ((*(char *)(iVar18 + 4) != '\0') && (iVar21 != 0)) {
        (*(code *)(iVar31 + -0x4e9c))(iVar18);
      }
      iVar30 = iVar30 + 1;
    } while ((ppiVar13[7] == (int *)0x0) && (iVar30 < (int)ppiVar13[1]));
  }
  (*(code *)(*(int *)(pcVar15 + 0x47f00) + 0x5828))
            (*ppiVar13,piVar10,piVar10,*(int *)(pcVar15 + 0x47f68) + -0x44f0);
  return (int *)0x0;
}

