
int fts3FilterMethod(sqlite3_vtab_cursor *pCursor,int idxNum,char *idxStr,int nVal,
                    sqlite3_value **apVal)

{
  char cVar1;
  undefined *puVar2;
  int iVar3;
  uint uVar4;
  undefined *puVar5;
  int iVar6;
  undefined4 uVar7;
  Fts3Expr *pExpr;
  sqlite3_vtab *psVar8;
  sqlite3_vtab *psVar9;
  uint uVar10;
  sqlite3_value *aTC;
  sqlite3_value *ppOr;
  sqlite3_value *psVar11;
  sqlite3_value *psVar12;
  undefined8 uVar13;
  sqlite3_value *psStack_64;
  int rc;
  int nToken;
  int nOr;
  int nParsed;
  ParseContext sParse;
  
  puVar2 = PTR___stack_chk_guard_0015ba2c;
  uVar10 = idxNum & 0xffff;
  psVar9 = pCursor->pVtab;
  iVar3 = *(int *)PTR___stack_chk_guard_0015ba2c;
  if (uVar10 == 0) {
    psStack_64 = (sqlite3_value *)0x0;
  }
  else {
    psStack_64 = *apVal;
  }
  uVar4 = (uint)(uVar10 != 0);
  if (idxNum << 0xf < 0) {
    psVar11 = apVal[uVar4];
    uVar4 = uVar4 + 1;
    if (idxNum << 0xe < 0) goto LAB_00128240;
LAB_001280e8:
    if (idxNum << 0xd < 0) {
      aTC = (sqlite3_value *)0x0;
      ppOr = apVal[uVar4];
      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);
      uVar13 = 0x8000000000000000;
      goto LAB_001282e8;
    }
    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);
  }
  else {
    psVar11 = (sqlite3_value *)0x0;
    if (-1 < idxNum << 0xe) goto LAB_001280e8;
LAB_00128240:
    aTC = apVal[uVar4];
    if (idxNum << 0xd < 0) {
      ppOr = apVal[uVar4 + 1];
      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);
      if (aTC == (sqlite3_value *)0x0) goto LAB_00128814;
      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);
      uVar13 = 0x8000000000000000;
      if (iVar6 != 1) goto LAB_001282e8;
LAB_0012829c:
      uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);
      goto LAB_001282e8;
    }
    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);
    if (aTC != (sqlite3_value *)0x0) {
      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);
      if (iVar6 == 1) {
        ppOr = (sqlite3_value *)0x0;
        goto LAB_0012829c;
      }
      pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;
      ppOr = (sqlite3_value *)0x0;
      pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;
      uVar13 = 0x7fffffffffffffff;
      goto LAB_00128128;
    }
  }
  pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;
  aTC = (sqlite3_value *)0x0;
  pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;
  ppOr = (sqlite3_value *)0x0;
  uVar13 = 0x7fffffffffffffff;
LAB_00128128:
  do {
    *(undefined8 *)(pCursor + 0x14) = uVar13;
    if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {
      cVar1 = (char)psVar9[0x13].nRef;
    }
    else {
      cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';
    }
    *(char *)&pCursor[0xd].pVtab = cVar1;
    *(short *)&pCursor[1].pVtab = (short)idxNum;
    if ((idxNum & 0xfffeU) == 0) {
      if (uVar10 == 0) {
        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {
          if (cVar1 == '\0') {
            puVar5 = PTR_DAT_0015b5fc + -0x48b4;
          }
          else {
            puVar5 = PTR_DAT_0015b5fc + -0x51b0;
          }
          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)
                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);
        }
        else {
          if (cVar1 == '\0') {
            puVar5 = PTR_DAT_0015b5fc + -0x48b4;
          }
          else {
            puVar5 = PTR_DAT_0015b5fc + -0x51b0;
          }
          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)
                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,
                             pCursor[0x13].pVtab,uVar13,puVar5);
        }
        if (iVar6 == 0) goto LAB_00128540;
        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)
                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);
        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);
LAB_001281d8:
        if (uVar10 != 0) goto LAB_001281f8;
      }
      else if (uVar10 == 1) {
        psVar8 = pCursor[3].pVtab;
        if (psVar8 == (sqlite3_vtab *)0x0) {
          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);
          if (uVar10 != 0) goto LAB_001281f8;
          psVar8 = pCursor[3].pVtab;
        }
        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);
        goto LAB_001281d8;
      }
LAB_001281e4:
      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);
    }
    else {
      idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);
      if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&
         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {
LAB_00128540:
        uVar10 = 7;
      }
      else {
        pCursor[5].pVtab = (sqlite3_vtab *)0x0;
        if (psVar11 == (sqlite3_value *)0x0) {
          sParse.iLangid = 0;
        }
        else {
          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);
          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;
        }
        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;
        aTC = (sqlite3_value *)(pCursor + 4);
        sParse.azCol = (char **)psVar9[2].nRef;
        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;
        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;
        ppOr = (sqlite3_value *)&sParse;
        sParse.nCol = (int)psVar9[2].pModule;
        sParse.isNot = 0;
        sParse.pCtx = (sqlite3_context *)0x0;
        sParse.nNest = 0;
        sParse.iDefaultCol = uVar10 - 2;
        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {
          pCursor[4].pVtab = (sqlite3_vtab *)0x0;
          pExpr = (Fts3Expr *)0x0;
LAB_00128570:
          idxStr = (char *)pCursor->pVtab;
          rc = 0;
          nToken = 0;
          nOr = 0;
          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);
          if (((rc == 0) && (1 < nToken)) &&
             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {
            aTC = (sqlite3_value *)
                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);
            if (aTC == (sqlite3_value *)0x0) {
              rc = 7;
            }
            else {
              idxStr = (char *)(&aTC->u + nToken * 3);
              nParsed = (int)aTC;
              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;
              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,
                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);
              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;
              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;
              if (rc == 0) {
                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);
                rc = fts3EvalSelectDeferred
                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken
                               );
                psVar11 = (sqlite3_value *)rc;
                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&
                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {
                  do {
                    rc = 0;
                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);
                    rc = fts3EvalSelectDeferred
                                   ((Fts3Cursor *)pCursor,
                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,
                                    (Fts3TokenAndCost *)aTC,nToken);
                    psVar11 = psVar12;
                    if (rc != 0) break;
                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;
                  } while ((int)psVar12 < nOr);
                }
              }
              (*(code *)PTR_sqlite3_free_0015b620)(aTC);
            }
          }
          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);
          uVar10 = rc;
          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);
          psVar9[0x14].zErrMsg = (char *)0x0;
          if (uVar10 == 0) {
            pCursor[9].pVtab = (sqlite3_vtab *)0x0;
            pCursor[8].pVtab = (sqlite3_vtab *)0x0;
            pCursor[10].pVtab = pCursor[0xb].pVtab;
            goto LAB_001281e4;
          }
        }
        else {
          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);
          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);
          if (uVar10 == 0) {
            pExpr = (Fts3Expr *)pCursor[4].pVtab;
            if (sParse.nNest == 0) {
              if (pExpr != (Fts3Expr *)0x0) {
                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);
                if (uVar10 != 0) goto LAB_0012844c;
                psVar8 = pCursor[4].pVtab;
                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);
                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);
                pExpr = (Fts3Expr *)uVar13;
                if (uVar10 != 0) goto LAB_00128450;
              }
              goto LAB_00128570;
            }
            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);
            pCursor[4].pVtab = (sqlite3_vtab *)0x0;
LAB_0012841c:
            puVar5 = PTR_DAT_0015b5fc + -0x2490;
            psVar8 = (sqlite3_vtab *)idxStr;
          }
          else {
LAB_0012844c:
            psVar8 = pCursor[4].pVtab;
LAB_00128450:
            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);
            pCursor[4].pVtab = (sqlite3_vtab *)0x0;
            if (uVar10 != 0x12) {
              if (uVar10 != 1) goto LAB_001281f8;
              goto LAB_0012841c;
            }
            psVar8 = (sqlite3_vtab *)&DAT_0000000c;
            puVar5 = PTR_DAT_0015b5fc + -0x24c4;
          }
          uVar10 = 1;
          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);
        }
      }
    }
LAB_001281f8:
    if (iVar3 == *(int *)puVar2) {
      return uVar10;
    }
    (*(code *)PTR___stack_chk_fail_0015ba10)();
LAB_00128814:
    uVar13 = 0x8000000000000000;
LAB_001282e8:
    *(undefined8 *)(pCursor + 0x12) = uVar13;
    if (ppOr == (sqlite3_value *)0x0) {
      uVar13 = 0x7fffffffffffffff;
    }
    else {
      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);
      uVar13 = 0x7fffffffffffffff;
      if (iVar6 == 1) {
        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);
      }
    }
  } while( true );
}



uint FUN_00128050(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)

{
  char cVar1;
  undefined *puVar2;
  uint uVar3;
  undefined *puVar4;
  int iVar5;
  undefined4 uVar6;
  int iVar7;
  int *piVar8;
  int iVar9;
  uint uVar10;
  int *piVar11;
  int **ppiVar12;
  uint uVar13;
  undefined8 uVar14;
  undefined4 local_64;
  uint local_60;
  int local_5c;
  int local_58;
  int *local_54;
  int *local_50;
  int local_4c;
  undefined4 local_48;
  uint local_44;
  undefined4 local_40;
  int local_3c;
  undefined4 local_38;
  undefined4 local_34;
  int local_30;
  int local_2c;
  
  puVar2 = PTR___stack_chk_guard_0015ba2c;
  uVar10 = param_2 & 0xffff;
  iVar9 = *param_1;
  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;
  if (uVar10 == 0) {
    local_64 = 0;
  }
  else {
    local_64 = *param_5;
  }
  uVar3 = (uint)(uVar10 != 0);
  if ((int)(param_2 << 0xf) < 0) {
    uVar13 = param_5[uVar3];
    uVar3 = uVar3 + 1;
    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;
LAB_001280e8:
    if ((int)(param_2 << 0xd) < 0) {
      piVar11 = (int *)0x0;
      ppiVar12 = (int **)param_5[uVar3];
      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);
      uVar14 = 0x8000000000000000;
      goto LAB_001282e8;
    }
    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);
  }
  else {
    uVar13 = 0;
    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;
LAB_00128240:
    piVar11 = (int *)param_5[uVar3];
    if ((int)(param_2 << 0xd) < 0) {
      ppiVar12 = (int **)param_5[uVar3 + 1];
      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);
      if (piVar11 == (int *)0x0) goto LAB_00128814;
      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);
      uVar14 = 0x8000000000000000;
      if (iVar5 != 1) goto LAB_001282e8;
LAB_0012829c:
      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);
      goto LAB_001282e8;
    }
    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);
    if (piVar11 != (int *)0x0) {
      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);
      if (iVar5 == 1) {
        ppiVar12 = (int **)0x0;
        goto LAB_0012829c;
      }
      param_1[0x13] = 0;
      ppiVar12 = (int **)0x0;
      param_1[0x12] = -0x80000000;
      uVar14 = 0x7fffffffffffffff;
      goto LAB_00128128;
    }
  }
  param_1[0x13] = 0;
  piVar11 = (int *)0x0;
  param_1[0x12] = -0x80000000;
  ppiVar12 = (int **)0x0;
  uVar14 = 0x7fffffffffffffff;
LAB_00128128:
  do {
    *(undefined8 *)(param_1 + 0x14) = uVar14;
    if (param_3 == (int *)0x0) {
      cVar1 = *(char *)(iVar9 + 0xeb);
    }
    else {
      cVar1 = *(char *)param_3 == 'D';
    }
    *(char *)(param_1 + 0xd) = cVar1;
    *(short *)(param_1 + 1) = (short)param_2;
    if ((param_2 & 0xfffe) == 0) {
      if (uVar10 == 0) {
        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {
          if (cVar1 == '\0') {
            puVar4 = PTR_UINT_0015b5fc + -0x48b4;
          }
          else {
            puVar4 = PTR_UINT_0015b5fc + -0x51b0;
          }
          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)
                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);
        }
        else {
          if (cVar1 == '\0') {
            puVar4 = PTR_UINT_0015b5fc + -0x48b4;
          }
          else {
            puVar4 = PTR_UINT_0015b5fc + -0x51b0;
          }
          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)
                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]
                             ,param_1[0x13],uVar14,puVar4);
        }
        if (iVar5 == 0) goto LAB_00128540;
        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)
                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);
        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);
LAB_001281d8:
        if (uVar10 != 0) goto LAB_001281f8;
      }
      else if (uVar10 == 1) {
        iVar5 = param_1[3];
        if (iVar5 == 0) {
          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);
          if (uVar10 != 0) goto LAB_001281f8;
          iVar5 = param_1[3];
        }
        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);
        goto LAB_001281d8;
      }
LAB_001281e4:
      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);
    }
    else {
      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);
      if ((param_3 == (int *)0x0) &&
         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {
LAB_00128540:
        uVar10 = 7;
      }
      else {
        param_1[5] = 0;
        if (uVar13 == 0) {
          local_4c = 0;
        }
        else {
          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);
          param_1[5] = local_4c;
        }
        local_50 = *(int **)(iVar9 + 0x24);
        piVar11 = param_1 + 4;
        local_48 = *(undefined4 *)(iVar9 + 0x1c);
        uVar13 = iVar9 + 8;
        local_44 = (uint)*(byte *)(iVar9 + 0xe8);
        ppiVar12 = &local_50;
        local_40 = *(undefined4 *)(iVar9 + 0x18);
        local_38 = 0;
        local_34 = 0;
        local_30 = 0;
        local_3c = uVar10 - 2;
        if (param_3 == (int *)0x0) {
          param_1[4] = 0;
          iVar5 = 0;
LAB_00128570:
          param_3 = (int *)*param_1;
          local_60 = 0;
          local_5c = 0;
          local_58 = 0;
          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);
          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {
            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)
                                       (0,(local_5c * 3 + local_58) * 8);
            if (piVar11 == (int *)0x0) {
              local_60 = 7;
            }
            else {
              param_3 = piVar11 + local_5c * 6;
              local_54 = piVar11;
              local_50 = param_3;
              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);
              local_58 = (int)local_50 - (int)param_3 >> 2;
              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;
              if (local_60 == 0) {
                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);
                local_60 = FUN_00125750(param_1,0,piVar11);
                uVar13 = local_60;
                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {
                  do {
                    local_60 = 0;
                    uVar10 = uVar10 + 1;
                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);
                    uVar13 = uVar10;
                    if (local_60 != 0) break;
                    param_3 = param_3 + 1;
                  } while ((int)uVar10 < local_58);
                }
              }
              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);
            }
          }
          FUN_00127f08(param_1,param_1[4],&local_60);
          uVar10 = local_60;
          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));
          *(undefined4 *)(iVar9 + 0xf8) = 0;
          if (uVar10 == 0) {
            param_1[9] = 0;
            param_1[8] = 0;
            param_1[10] = param_1[0xb];
            goto LAB_001281e4;
          }
        }
        else {
          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);
          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);
          if (uVar10 == 0) {
            iVar5 = param_1[4];
            if (local_30 == 0) {
              if (iVar5 != 0) {
                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);
                if (uVar10 != 0) goto LAB_0012844c;
                iVar7 = param_1[4];
                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);
                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);
                iVar5 = (int)uVar14;
                if (uVar10 != 0) goto LAB_00128450;
              }
              goto LAB_00128570;
            }
            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);
            param_1[4] = 0;
LAB_0012841c:
            puVar4 = PTR_UINT_0015b5fc + -0x2490;
            piVar8 = param_3;
          }
          else {
LAB_0012844c:
            iVar7 = param_1[4];
LAB_00128450:
            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);
            param_1[4] = 0;
            if (uVar10 != 0x12) {
              if (uVar10 != 1) goto LAB_001281f8;
              goto LAB_0012841c;
            }
            piVar8 = (int *)&DAT_0000000c;
            puVar4 = PTR_UINT_0015b5fc + -0x24c4;
          }
          uVar10 = 1;
          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);
        }
      }
    }
LAB_001281f8:
    if (local_2c == *(int *)puVar2) {
      return uVar10;
    }
    (*(code *)PTR___stack_chk_fail_0015ba10)();
LAB_00128814:
    uVar14 = 0x8000000000000000;
LAB_001282e8:
    *(undefined8 *)(param_1 + 0x12) = uVar14;
    if (ppiVar12 == (int **)0x0) {
      uVar14 = 0x7fffffffffffffff;
    }
    else {
      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);
      uVar14 = 0x7fffffffffffffff;
      if (iVar5 == 1) {
        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);
      }
    }
  } while( true );
}


lui gp,0x4
addiu gp,gp,-0x4aa0
addu gp,gp,t9
addiu sp,sp,-0x90
sw s3,0x74(sp)
sw s8,0x88(sp)
or s8,a1,zero
sw s4,0x78(sp)
or s4,a2,zero
sw s2,0x70(sp)
andi s2,a1,0xffff
sw s0,0x68(sp)
or s0,a0,zero
sw gp,0x20(sp)
sw ra,0x8c(sp)
sw s7,0x84(sp)
sw s6,0x80(sp)
sw s5,0x7c(sp)
sw s1,0x6c(sp)
lw s3,-0x7b84(gp)
lw v1,0xa0(sp)
lw s1,0x0(a0)
lw v0,0x0(s3)
sw v0,0x64(sp)
beq s2,zero,0x001282b8
_or v0,zero,zero
lw v0,0x0(v1)
sw v0,0x2c(sp)
li v0,0x1
ext a0,s8,0x10,0x1
beq a0,zero,0x00128238
_ext a0,s8,0x11,0x1
sll a0,v0,0x2
addu a0,v1,a0
lw s7,0x0(a0)
ext a0,s8,0x11,0x1
bne a0,zero,0x00128240
_addiu v0,v0,0x1
ext a0,s8,0x12,0x1
bne a0,zero,0x001282c0
_lw t9,-0x7eb8(gp)
addiu t9,t9,0x79e0
jalr t9
_or a0,s0,zero
lw gp,0x20(sp)
or v1,zero,zero
lui v0,0x8000
lui t0,0x7fff
sw v1,0x4c(s0)
or s5,zero,zero
sw v0,0x48(s0)
or s6,zero,zero
li t1,-0x1
ori t0,t0,0xffff
sw t1,0x54(s0)
beq s4,zero,0x00128484
_sw t0,0x50(s0)
lb v0,0x0(s4)
xori v0,v0,0x44
sltiu v0,v0,0x1
andi v1,s8,0xfffe
sb v0,0x34(s0)
bne v1,zero,0x00128334
_sh s8,0x4(s0)
bne s2,zero,0x001284e0
_nop
beq s5,zero,0x00128620
_lw a1,0xdc(s1)
lw a3,0x4c(s0)
bne v0,zero,0x00128514
_lw a2,0x48(s0)
lw v0,-0x7fb4(gp)
addiu v0,v0,-0x48b4
lw a0,-0x7fb4(gp)
lw t9,-0x7f88(gp)
sw v0,0x18(sp)
addiu a0,a0,-0x246c
sw t1,0x14(sp)
jalr t9
_sw t0,0x10(sp)
lw gp,0x20(sp)
or s2,v0,zero
beq s2,zero,0x00128540
_addiu v0,s0,0xc
lw a0,0xc(s1)
lw t9,-0x7d10(gp)
li a3,0x1
li a2,-0x1
sw v0,0x10(sp)
or a1,s2,zero
jalr t9
_sw zero,0x14(sp)
or a0,s2,zero
lw gp,0x20(sp)
lw t9,-0x7f90(gp)
jalr t9
_or s2,v0,zero
lw gp,0x20(sp)
bne s2,zero,0x001281f8
_nop
lw t9,-0x7ee0(gp)
addiu t9,t9,0x7a84
jalr t9
_or a0,s0,zero
lw gp,0x20(sp)
or s2,v0,zero
lw a0,0x64(sp)
or v0,s2,zero
lw v1,0x0(s3)
bne a0,v1,0x00128808
_lw ra,0x8c(sp)
lw s8,0x88(sp)
lw s7,0x84(sp)
lw s6,0x80(sp)
lw s5,0x7c(sp)
lw s4,0x78(sp)
lw s3,0x74(sp)
lw s2,0x70(sp)
lw s1,0x6c(sp)
lw s0,0x68(sp)
jr ra
_addiu sp,sp,0x90
beq a0,zero,0x001280e8
_or s7,zero,zero
sll a0,v0,0x2
ext a2,s8,0x12,0x1
addu a0,v1,a0
addiu v0,v0,0x1
beq a2,zero,0x0012848c
_lw s5,0x0(a0)
lw t9,-0x7eb8(gp)
sll v0,v0,0x2
or a0,s0,zero
addu v0,v1,v0
addiu t9,t9,0x79e0
jalr t9
_lw s6,0x0(v0)
beq s5,zero,0x00128814
_lw gp,0x20(sp)
lw t9,-0x7e80(gp)
jalr t9
_or a0,s5,zero
li v1,0x1
lw gp,0x20(sp)
or a3,zero,zero
bne v0,v1,0x001282e8
_lui a2,0x8000
lw t9,-0x7fa8(gp)
jalr t9
_or a0,s5,zero
lw gp,0x20(sp)
or a3,v1,zero
b 0x001282e8
_or a2,v0,zero
b 0x001280c4
_sw zero,0x2c(sp)
sll v0,v0,0x2
or a0,s0,zero
addu v0,v1,v0
addiu t9,t9,0x79e0
or s5,zero,zero
jalr t9
_lw s6,0x0(v0)
or a3,zero,zero
lw gp,0x20(sp)
lui a2,0x8000
sw a3,0x4c(s0)
beq s6,zero,0x00128660
_sw a2,0x48(s0)
lw t9,-0x7e80(gp)
jalr t9
_or a0,s6,zero
lui t0,0x7fff
li v1,0x1
lw gp,0x20(sp)
li t1,-0x1
bne v0,v1,0x00128128
_ori t0,t0,0xffff
lw t9,-0x7fa8(gp)
jalr t9
_or a0,s6,zero
lw gp,0x20(sp)
or t1,v1,zero
b 0x00128128
_or t0,v0,zero
lw t9,-0x7f9c(gp)
addiu s2,s2,-0x2
jalr t9
_lw a0,0x2c(sp)
lw gp,0x20(sp)
beq v0,zero,0x00128528
_or s4,v0,zero
beq s7,zero,0x00128520
_sw zero,0x14(s0)
lw t9,-0x7e7c(gp)
jalr t9
_or a0,s7,zero
lw gp,0x20(sp)
sw v0,0x14(s0)
lw a3,0x24(s1)
addiu s5,s0,0x10
lw a2,0x1c(s1)
addiu s7,s1,0x8
lbu a0,0xe8(s1)
addiu s6,sp,0x40
lw a1,0x18(s1)
sw zero,0x58(sp)
sw zero,0x5c(sp)
sw zero,0x60(sp)
sw a3,0x40(sp)
sw v0,0x44(sp)
sw a2,0x48(sp)
sw a1,0x50(sp)
sw s2,0x54(sp)
beq s4,zero,0x00128654
_sw a0,0x4c(sp)
lw t9,-0x7bec(gp)
jalr t9
_or a0,s4,zero
addiu v1,sp,0x3c
lw gp,0x20(sp)
or a3,s5,zero
sw v1,0x10(sp)
or a2,v0,zero
or a1,s4,zero
lw t9,-0x7eb8(gp)
addiu t9,t9,0x4124
jalr t9
_or a0,s6,zero
lw gp,0x20(sp)
bne v0,zero,0x0012844c
_or s2,v0,zero
lw v0,0x60(sp)
beq v0,zero,0x00128428
_lw v1,0x10(s0)
lw t9,-0x7eb8(gp)
addiu t9,t9,0x3f2c
jalr t9
_or a0,v1,zero
lw gp,0x20(sp)
sw zero,0x10(s0)
lw a1,-0x7fb4(gp)
or a2,s4,zero
or a0,s7,zero
b 0x00128680
_addiu a1,a1,-0x2490
beq v1,zero,0x00128570
_lw t9,-0x7eb8(gp)
li a1,0xc
addiu t9,t9,0x4f20
jalr t9
_or a0,s5,zero
lw gp,0x20(sp)
beq v0,zero,0x00128548
_or s2,v0,zero
lw a2,0x10(s0)
lw t9,-0x7eb8(gp)
addiu t9,t9,0x3f2c
jalr t9
_or a0,a2,zero
li v0,0x12
lw gp,0x20(sp)
beq s2,v0,0x00128670
_sw zero,0x10(s0)
li v0,0x1
bne s2,v0,0x001281f8
_lw a1,-0x7fb4(gp)
b 0x0012841c
_or a2,s4,zero
b 0x00128140
_lbu v0,0xeb(s1)
lw t9,-0x7eb8(gp)
addiu t9,t9,0x79e0
jalr t9
_or a0,s0,zero
beq s5,zero,0x00128104
_lw gp,0x20(sp)
lw t9,-0x7e80(gp)
jalr t9
_or a0,s5,zero
li v1,0x1
beq v0,v1,0x00128698
_lw gp,0x20(sp)
or v1,zero,zero
lui v0,0x8000
lui t0,0x7fff
sw v1,0x4c(s0)
or s6,zero,zero
sw v0,0x48(s0)
li t1,-0x1
b 0x00128128
_ori t0,t0,0xffff
li v0,0x1
bne s2,v0,0x001281e4
_lw t9,-0x7ee0(gp)
lw a0,0xc(s0)
beq a0,zero,0x00128754
_lw t9,-0x7ee0(gp)
lw t9,-0x7da4(gp)
li a1,0x1
jalr t9
_lw a2,0x2c(sp)
lw gp,0x20(sp)
b 0x001281d8
_or s2,v0,zero
lw v0,-0x7fb4(gp)
b 0x00128174
_addiu v0,v0,-0x51b0
b 0x0012836c
_or v0,zero,zero
lw t9,-0x7fb8(gp)
jalr t9
_lw a0,0x2c(sp)
li v1,0x5
beq v0,v1,0x00128350
_lw gp,0x20(sp)
b 0x001281f8
_li s2,0x7
lw t9,-0x7f54(gp)
li a1,0xc
lw a2,0x10(s0)
addiu t9,t9,0x24b4
or a0,a2,zero
jalr t9
_or v1,a2,zero
lw gp,0x20(sp)
bne v0,zero,0x00128450
_or s2,v0,zero
lw t9,-0x7edc(gp)
addiu s2,sp,0x30
addiu a3,sp,0x38
lw s4,0x0(s0)
addiu a2,sp,0x34
sw s2,0x10(sp)
addiu t9,t9,-0x2de0
sw zero,0x30(sp)
or a1,v1,zero
sw zero,0x34(sp)
or a0,s0,zero
bal 0x0011d220
_sw zero,0x38(sp)
lw v0,0x30(sp)
bne v0,zero,0x001285cc
_lw gp,0x20(sp)
lw v0,0x34(sp)
slti v1,v0,0x2
bne v1,zero,0x001285d0
_lw t9,-0x7edc(gp)
lbu v1,0xe8(s4)
bne v1,zero,0x001286a0
_sll a1,v0,0x1
lw t9,-0x7edc(gp)
or a2,s2,zero
lw a1,0x10(s0)
addiu t9,t9,0x7f08
bal 0x00127f08
_or a0,s0,zero
lw gp,0x20(sp)
lw s2,0x30(sp)
lw t9,-0x7d48(gp)
jalr t9
_lw a0,0xf8(s1)
lw gp,0x20(sp)
bne s2,zero,0x001281f8
_sw zero,0xf8(s1)
lw v0,0x2c(s0)
or a1,zero,zero
or a0,zero,zero
sw a1,0x24(s0)
sw a0,0x20(s0)
b 0x001281e0
_sw v0,0x28(s0)
bne s6,zero,0x00128160
_nop
bne v0,zero,0x00128774
_lw a2,-0x7fb4(gp)
lw a2,-0x7fb4(gp)
addiu a2,a2,-0x48b4
lw a0,-0x7fb4(gp)
lw t9,-0x7f88(gp)
jalr t9
_addiu a0,a0,-0x242c
lw gp,0x20(sp)
b 0x00128198
_or s2,v0,zero
sw zero,0x10(s0)
b 0x00128570
_or v1,zero,zero
lui t0,0x7fff
li t1,-0x1
b 0x00128128
_ori t0,t0,0xffff
lw a1,-0x7fb4(gp)
li a2,0xc
or a0,s7,zero
addiu a1,a1,-0x24c4
lw t9,-0x7e94(gp)
addiu t9,t9,0x2618
jalr t9
_li s2,0x1
b 0x001281f8
_lw gp,0x20(sp)
b 0x0012829c
_or s6,zero,zero
lw t9,-0x7e50(gp)
or a0,zero,zero
addu v0,a1,v0
lw a1,0x38(sp)
addu a1,v0,a1
jalr t9
_sll a1,a1,0x3
lw gp,0x20(sp)
beq v0,zero,0x0012877c
_or s5,v0,zero
lw v0,0x34(sp)
addiu a3,sp,0x3c
lw t9,-0x7edc(gp)
or a1,zero,zero
lw a2,0x10(s0)
or a0,s0,zero
sll s4,v0,0x1
sw s2,0x14(sp)
addiu t9,t9,-0x2a98
sw s6,0x10(sp)
addu s4,s4,v0
sw s5,0x3c(sp)
sll s4,s4,0x3
addu s4,s5,s4
bal 0x0011d568
_sw s4,0x40(sp)
lui v1,0xaaaa
lw a3,0x3c(sp)
ori v1,v1,0xaaab
lw v0,0x40(sp)
lw a0,0x30(sp)
subu a3,a3,s5
lw gp,0x20(sp)
subu v0,v0,s4
sra a3,a3,0x3
sra v0,v0,0x2
mul a3,a3,v1
sw v0,0x38(sp)
beq a0,zero,0x00128788
_sw a3,0x34(sp)
lw t9,-0x7f90(gp)
jalr t9
_or a0,s5,zero
b 0x001285cc
_lw gp,0x20(sp)
addiu t9,t9,-0x7e8c
jalr t9
_or a0,s0,zero
lw gp,0x20(sp)
bne v0,zero,0x001281f8
_or s2,v0,zero
b 0x001284f8
_lw a0,0xc(s0)
b 0x00128638
_addiu a2,a2,-0x51b0
li v0,0x7
b 0x001285cc
_sw v0,0x30(sp)
lw s6,-0x7edc(gp)
or a1,zero,zero
or a2,s5,zero
addiu s6,s6,0x5750
or t9,s6,zero
bal 0x00125750
_or a0,s0,zero
lw gp,0x20(sp)
or s7,v0,zero
bne v0,zero,0x00128740
_sw v0,0x30(sp)
lw v0,0x38(sp)
bgtz v0,0x001287dc
_lw a3,0x34(sp)
b 0x00128744
_lw t9,-0x7f90(gp)
lw v0,0x38(sp)
slt v0,s7,v0
beq v0,zero,0x00128740
_addiu s4,s4,0x4
lw a3,0x34(sp)
or a2,s5,zero
lw a1,0x0(s4)
or a0,s0,zero
or t9,s6,zero
bal 0x00125750
_addiu s7,s7,0x1
lw gp,0x20(sp)
beq v0,zero,0x001287c8
_sw v0,0x30(sp)
b 0x00128744
_lw t9,-0x7f90(gp)
lw t9,-0x7ba0(gp)
jalr t9
_nop
or a3,zero,zero
b 0x001282e8
_lui a2,0x8000
(translation_unit "uint FUN_00128050(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  uint uVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int **ppiVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  undefined4 local_64;\n  uint local_60;\n  int local_5c;\n  int local_58;\n  int *local_54;\n  int *local_50;\n  int local_4c;\n  undefined4 local_48;\n  uint local_44;\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = param_2 & 0xffff;\n  iVar9 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }\n  uVar3 = (uint)(uVar10 != 0);\n  if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  param_1[0x13] = 0;\n  piVar11 = (int *)0x0;\n  param_1[0x12] = -0x80000000;\n  ppiVar12 = (int **)0x0;\n  uVar14 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );\n}\n\n" (function_definition "uint FUN_00128050(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  uint uVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int **ppiVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  undefined4 local_64;\n  uint local_60;\n  int local_5c;\n  int local_58;\n  int *local_54;\n  int *local_50;\n  int local_4c;\n  undefined4 local_48;\n  uint local_44;\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = param_2 & 0xffff;\n  iVar9 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }\n  uVar3 = (uint)(uVar10 != 0);\n  if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  param_1[0x13] = 0;\n  piVar11 = (int *)0x0;\n  param_1[0x12] = -0x80000000;\n  ppiVar12 = (int **)0x0;\n  uVar14 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );\n}" type_identifier (function_declarator "FUN_00128050(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)" identifier (parameter_list "(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  uint uVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int **ppiVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  undefined4 local_64;\n  uint local_60;\n  int local_5c;\n  int local_58;\n  int *local_54;\n  int *local_50;\n  int local_4c;\n  undefined4 local_48;\n  uint local_44;\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = param_2 & 0xffff;\n  iVar9 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }\n  uVar3 = (uint)(uVar10 != 0);\n  if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  param_1[0x13] = 0;\n  piVar11 = (int *)0x0;\n  param_1[0x12] = -0x80000000;\n  ppiVar12 = (int **)0x0;\n  uVar14 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int **ppiVar12;" primitive_type (pointer_declarator "**ppiVar12" * (pointer_declarator "*ppiVar12" * identifier)) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "int *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "uVar10 = param_2 & 0xffff;" (assignment_expression "uVar10 = param_2 & 0xffff" identifier = (binary_expression "param_2 & 0xffff" identifier & number_literal)) ;) (expression_statement "iVar9 = *param_1;" (assignment_expression "iVar9 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n    local_64 = 0;\n  }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_64 = *param_5;\n  }" else (compound_statement "{\n    local_64 = *param_5;\n  }" { (expression_statement "local_64 = *param_5;" (assignment_expression "local_64 = *param_5" identifier = (pointer_expression "*param_5" * identifier)) ;) }))) (expression_statement "uVar3 = (uint)(uVar10 != 0);" (assignment_expression "uVar3 = (uint)(uVar10 != 0)" identifier = (call_expression "(uint)(uVar10 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )))) ;) (if_statement "if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" if (parenthesized_expression "((int)(param_2 << 0xf) < 0)" ( (binary_expression "(int)(param_2 << 0xf) < 0" (cast_expression "(int)(param_2 << 0xf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 0xf)" ( (binary_expression "param_2 << 0xf" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }" { (expression_statement "uVar13 = param_5[uVar3];" (assignment_expression "uVar13 = param_5[uVar3]" identifier = (subscript_expression "param_5[uVar3]" identifier [ identifier ])) ;) (expression_statement "uVar3 = uVar3 + 1;" (assignment_expression "uVar3 = uVar3 + 1" identifier = (binary_expression "uVar3 + 1" identifier + number_literal)) ;) (if_statement "if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;" if (parenthesized_expression "((int)(param_2 << 0xe) < 0)" ( (binary_expression "(int)(param_2 << 0xe) < 0" (cast_expression "(int)(param_2 << 0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 0xe)" ( (binary_expression "param_2 << 0xe" identifier << number_literal) ))) < number_literal) )) (goto_statement "goto LAB_00128240;" goto statement_identifier ;)) (labeled_statement "LAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" statement_identifier : (if_statement "if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" if (parenthesized_expression "((int)(param_2 << 0xd) < 0)" ( (binary_expression "(int)(param_2 << 0xd) < 0" (cast_expression "(int)(param_2 << 0xd)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 0xd)" ( (binary_expression "param_2 << 0xd" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" { (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12 = (int **)param_5[uVar3];" (assignment_expression "ppiVar12 = (int **)param_5[uVar3]" identifier = (cast_expression "(int **)param_5[uVar3]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_5[uVar3]" identifier [ identifier ]))) ;) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "uVar14 = 0x8000000000000000;" (assignment_expression "uVar14 = 0x8000000000000000" identifier = number_literal) ;) (goto_statement "goto LAB_001282e8;" goto statement_identifier ;) }))) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) }) (else_clause "else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" else (compound_statement "{\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;" if (parenthesized_expression "(-1 < (int)(param_2 << 0xe))" ( (binary_expression "-1 < (int)(param_2 << 0xe)" number_literal < (cast_expression "(int)(param_2 << 0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 0xe)" ( (binary_expression "param_2 << 0xe" identifier << number_literal) )))) )) (goto_statement "goto LAB_001280e8;" goto statement_identifier ;)) (labeled_statement "LAB_00128240:\n    piVar11 = (int *)param_5[uVar3];" statement_identifier : (expression_statement "piVar11 = (int *)param_5[uVar3];" (assignment_expression "piVar11 = (int *)param_5[uVar3]" identifier = (cast_expression "(int *)param_5[uVar3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_5[uVar3]" identifier [ identifier ]))) ;)) (if_statement "if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }" if (parenthesized_expression "((int)(param_2 << 0xd) < 0)" ( (binary_expression "(int)(param_2 << 0xd) < 0" (cast_expression "(int)(param_2 << 0xd)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 0xd)" ( (binary_expression "param_2 << 0xd" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }" { (expression_statement "ppiVar12 = (int **)param_5[uVar3 + 1];" (assignment_expression "ppiVar12 = (int **)param_5[uVar3 + 1]" identifier = (cast_expression "(int **)param_5[uVar3 + 1]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_5[uVar3 + 1]" identifier [ (binary_expression "uVar3 + 1" identifier + number_literal) ]))) ;) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_00128814;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00128814;" goto statement_identifier ;)) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" ( (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" * (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier )))) ;) (expression_statement "uVar14 = 0x8000000000000000;" (assignment_expression "uVar14 = 0x8000000000000000" identifier = number_literal) ;) (if_statement "if (iVar5 != 1) goto LAB_001282e8;" if (parenthesized_expression "(iVar5 != 1)" ( (binary_expression "iVar5 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001282e8;" goto statement_identifier ;)) (labeled_statement "LAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);" statement_identifier : (expression_statement "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);" (assignment_expression "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)" ( (pointer_expression "*(code *)PTR_sqlite3_value_int64_0015b608" * (cast_expression "(code *)PTR_sqlite3_value_int64_0015b608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier )))) ;)) (goto_statement "goto LAB_001282e8;" goto statement_identifier ;) })) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }" { (expression_statement "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" ( (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" * (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier )))) ;) (if_statement "if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }" { (expression_statement "ppiVar12 = (int **)0x0;" (assignment_expression "ppiVar12 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (goto_statement "goto LAB_0012829c;" goto statement_identifier ;) })) (expression_statement "param_1[0x13] = 0;" (assignment_expression "param_1[0x13] = 0" (subscript_expression "param_1[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ppiVar12 = (int **)0x0;" (assignment_expression "ppiVar12 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "param_1[0x12] = -0x80000000;" (assignment_expression "param_1[0x12] = -0x80000000" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00128128;" goto statement_identifier ;) })) }))) (expression_statement "param_1[0x13] = 0;" (assignment_expression "param_1[0x13] = 0" (subscript_expression "param_1[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1[0x12] = -0x80000000;" (assignment_expression "param_1[0x12] = -0x80000000" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ppiVar12 = (int **)0x0;" (assignment_expression "ppiVar12 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" identifier = number_literal) ;) (labeled_statement "LAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );" do (compound_statement "{\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  }" { (expression_statement "*(undefined8 *)(param_1 + 0x14) = uVar14;" (assignment_expression "*(undefined8 *)(param_1 + 0x14) = uVar14" (pointer_expression "*(undefined8 *)(param_1 + 0x14)" * (cast_expression "(undefined8 *)(param_1 + 0x14)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }" if (parenthesized_expression "(param_3 == (int *)0x0)" ( (binary_expression "param_3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }" { (expression_statement "cVar1 = *(char *)(iVar9 + 0xeb);" (assignment_expression "cVar1 = *(char *)(iVar9 + 0xeb)" identifier = (pointer_expression "*(char *)(iVar9 + 0xeb)" * (cast_expression "(char *)(iVar9 + 0xeb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xeb)" ( (binary_expression "iVar9 + 0xeb" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      cVar1 = *(char *)param_3 == 'D';\n    }" else (compound_statement "{\n      cVar1 = *(char *)param_3 == 'D';\n    }" { (expression_statement "cVar1 = *(char *)param_3 == 'D';" (assignment_expression "cVar1 = *(char *)param_3 == 'D'" identifier = (binary_expression "*(char *)param_3 == 'D'" (pointer_expression "*(char *)param_3" * (cast_expression "(char *)param_3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'D'" ' character '))) ;) }))) (expression_statement "*(char *)(param_1 + 0xd) = cVar1;" (assignment_expression "*(char *)(param_1 + 0xd) = cVar1" (pointer_expression "*(char *)(param_1 + 0xd)" * (cast_expression "(char *)(param_1 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd)" ( (binary_expression "param_1 + 0xd" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(short *)(param_1 + 1) = (short)param_2;" (assignment_expression "*(short *)(param_1 + 1) = (short)param_2" (pointer_expression "*(short *)(param_1 + 1)" * (cast_expression "(short *)(param_1 + 1)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) )))) = (cast_expression "(short)param_2" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (if_statement "if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }" if (parenthesized_expression "((param_2 & 0xfffe) == 0)" ( (binary_expression "(param_2 & 0xfffe) == 0" (parenthesized_expression "(param_2 & 0xfffe)" ( (binary_expression "param_2 & 0xfffe" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }" { (if_statement "if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }" { (if_statement "if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }" if (parenthesized_expression "((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0))" ( (binary_expression "(piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)" (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(ppiVar12 == (int **)0x0)" ( (binary_expression "ppiVar12 == (int **)0x0" identifier == (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }" { (if_statement "if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }" { (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x48b4;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x48b4" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x48b4" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" else (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" { (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x51b0;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x51b0" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x51b0" identifier + number_literal)) ;) }))) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4)" identifier = (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4)" ( (binary_expression "PTR_UINT_0015b5fc + -0x242c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar9 + 0xdc)" * (cast_expression "(undefined4 *)(iVar9 + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) )))) , identifier )))) ;) }) (else_clause "else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }" else (compound_statement "{\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }" { (if_statement "if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }" { (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x48b4;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x48b4" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x48b4" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" else (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" { (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x51b0;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x51b0" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x51b0" identifier + number_literal)) ;) }))) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4)" identifier = (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4)" ( (binary_expression "PTR_UINT_0015b5fc + -0x246c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar9 + 0xdc)" * (cast_expression "(undefined4 *)(iVar9 + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) )))) , (subscript_expression "param_1[0x12]" identifier [ number_literal ]) , (subscript_expression "param_1[0x13]" identifier [ number_literal ]) , identifier , identifier )))) ;) }))) (if_statement "if (iVar5 == 0) goto LAB_00128540;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00128540;" goto statement_identifier ;)) (expression_statement "uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);" (assignment_expression "uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0)" identifier = (call_expression "(*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0)" (parenthesized_expression "(*(code *)PTR_sqlite3_prepare_v3_0015b8a0)" ( (pointer_expression "*(code *)PTR_sqlite3_prepare_v3_0015b8a0" * (cast_expression "(code *)PTR_sqlite3_prepare_v3_0015b8a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0xc)" * (cast_expression "(undefined4 *)(iVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) , identifier , number_literal , number_literal , (binary_expression "param_1 + 3" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(iVar5);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(iVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier ))) ;) (labeled_statement "LAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;" statement_identifier : (if_statement "if (uVar10 != 0) goto LAB_001281f8;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001281f8;" goto statement_identifier ;))) }) (else_clause "else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" else (if_statement "if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" if (parenthesized_expression "(uVar10 == 1)" ( (binary_expression "uVar10 == 1" identifier == number_literal) )) (compound_statement "{\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" { (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (if_statement "if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }" { (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6d0 + -0x7e8c)" * (cast_expression "(code *)(PTR_LAB_0015b6d0 + -0x7e8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d0 + -0x7e8c)" ( (binary_expression "PTR_LAB_0015b6d0 + -0x7e8c" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (uVar10 != 0) goto LAB_001281f8;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001281f8;" goto statement_identifier ;)) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) })) (expression_statement "uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);" (assignment_expression "uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64)" identifier = (call_expression "(*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_value_0015b80c)" ( (pointer_expression "*(code *)PTR_sqlite3_bind_value_0015b80c" * (cast_expression "(code *)PTR_sqlite3_bind_value_0015b80c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5,1,local_64)" ( identifier , number_literal , identifier )))) ;) (goto_statement "goto LAB_001281d8;" goto statement_identifier ;) })))) (labeled_statement "LAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);" statement_identifier : (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d0 + 0x7a84))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6d0 + 0x7a84)" * (cast_expression "(code *)(PTR_LAB_0015b6d0 + 0x7a84)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d0 + 0x7a84)" ( (binary_expression "PTR_LAB_0015b6d0 + 0x7a84" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier )))) ;)) }) (else_clause "else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }" else (compound_statement "{\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }" { (expression_statement "param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);" (assignment_expression "param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_value_text_0015b614)(local_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_text_0015b614)" ( (pointer_expression "*(code *)PTR_sqlite3_value_text_0015b614" * (cast_expression "(code *)PTR_sqlite3_value_text_0015b614" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_64)" ( identifier ))))) ;) (if_statement "if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }" if (parenthesized_expression "((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5))" ( (binary_expression "(param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)" (parenthesized_expression "(param_3 == (int *)0x0)" ( (binary_expression "param_3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)" ( (comma_expression "iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_type_0015b5f8)" ( (pointer_expression "*(code *)PTR_sqlite3_value_type_0015b5f8" * (cast_expression "(code *)PTR_sqlite3_value_type_0015b5f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_64)" ( identifier )))) , (binary_expression "iVar5 != 5" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_00128540:\n        uVar10 = 7;\n      }" { (labeled_statement "LAB_00128540:\n        uVar10 = 7;" statement_identifier : (expression_statement "uVar10 = 7;" (assignment_expression "uVar10 = 7" identifier = number_literal) ;)) }) (else_clause "else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }" else (compound_statement "{\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }" { (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n          local_4c = 0;\n        }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) }) (else_clause "else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }" else (compound_statement "{\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }" { (expression_statement "local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);" (assignment_expression "local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_int_0015b734)(uVar13)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int_0015b734)" ( (pointer_expression "*(code *)PTR_sqlite3_value_int_0015b734" * (cast_expression "(code *)PTR_sqlite3_value_int_0015b734" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar13)" ( identifier )))) ;) (expression_statement "param_1[5] = local_4c;" (assignment_expression "param_1[5] = local_4c" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "local_50 = *(int **)(iVar9 + 0x24);" (assignment_expression "local_50 = *(int **)(iVar9 + 0x24)" identifier = (pointer_expression "*(int **)(iVar9 + 0x24)" * (cast_expression "(int **)(iVar9 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = param_1 + 4;" (assignment_expression "piVar11 = param_1 + 4" identifier = (binary_expression "param_1 + 4" identifier + number_literal)) ;) (expression_statement "local_48 = *(undefined4 *)(iVar9 + 0x1c);" (assignment_expression "local_48 = *(undefined4 *)(iVar9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x1c)" * (cast_expression "(undefined4 *)(iVar9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = iVar9 + 8;" (assignment_expression "uVar13 = iVar9 + 8" identifier = (binary_expression "iVar9 + 8" identifier + number_literal)) ;) (expression_statement "local_44 = (uint)*(byte *)(iVar9 + 0xe8);" (assignment_expression "local_44 = (uint)*(byte *)(iVar9 + 0xe8)" identifier = (binary_expression "(uint)*(byte *)(iVar9 + 0xe8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar9 + 0xe8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xe8)" ( (binary_expression "iVar9 + 0xe8" identifier + number_literal) ))))) ;) (expression_statement "ppiVar12 = &local_50;" (assignment_expression "ppiVar12 = &local_50" identifier = (pointer_expression "&local_50" & identifier)) ;) (expression_statement "local_40 = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "local_40 = *(undefined4 *)(iVar9 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_3c = uVar10 - 2;" (assignment_expression "local_3c = uVar10 - 2" identifier = (binary_expression "uVar10 - 2" identifier - number_literal)) ;) (if_statement "if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }" if (parenthesized_expression "(param_3 == (int *)0x0)" ( (binary_expression "param_3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }" { (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00128570:\n          param_3 = (int *)*param_1;" statement_identifier : (expression_statement "param_3 = (int *)*param_1;" (assignment_expression "param_3 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;)) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);" (call_expression "FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60)" identifier (argument_list "(param_1,iVar5,&local_5c,&local_58,&local_60)" ( identifier , identifier , (pointer_expression "&local_5c" & identifier) , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) ))) ;) (if_statement "if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }" if (parenthesized_expression "(((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0'))" ( (binary_expression "((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')" (parenthesized_expression "((local_60 == 0) && (1 < local_5c))" ( (binary_expression "(local_60 == 0) && (1 < local_5c)" (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) && (parenthesized_expression "(1 < local_5c)" ( (binary_expression "1 < local_5c" number_literal < identifier) ))) )) && (parenthesized_expression "(*(char *)(param_3 + 0x3a) != '\0')" ( (binary_expression "*(char *)(param_3 + 0x3a) != '\0'" (pointer_expression "*(char *)(param_3 + 0x3a)" * (cast_expression "(char *)(param_3 + 0x3a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3a)" ( (binary_expression "param_3 + 0x3a" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }" { (expression_statement "piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8)" (parenthesized_expression "(*(code *)PTR_sqlite3_malloc64_0015b760)" ( (pointer_expression "*(code *)PTR_sqlite3_malloc64_0015b760" * (cast_expression "(code *)PTR_sqlite3_malloc64_0015b760" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,(local_5c * 3 + local_58) * 8)" ( number_literal , (binary_expression "(local_5c * 3 + local_58) * 8" (parenthesized_expression "(local_5c * 3 + local_58)" ( (binary_expression "local_5c * 3 + local_58" (binary_expression "local_5c * 3" identifier * number_literal) + identifier) )) * number_literal) ))))) ;) (if_statement "if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_60 = 7;\n            }" { (expression_statement "local_60 = 7;" (assignment_expression "local_60 = 7" identifier = number_literal) ;) }) (else_clause "else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }" else (compound_statement "{\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }" { (expression_statement "param_3 = piVar11 + local_5c * 6;" (assignment_expression "param_3 = piVar11 + local_5c * 6" identifier = (binary_expression "piVar11 + local_5c * 6" identifier + (binary_expression "local_5c * 6" identifier * number_literal))) ;) (expression_statement "local_54 = piVar11;" (assignment_expression "local_54 = piVar11" identifier = identifier) ;) (expression_statement "local_50 = param_3;" (assignment_expression "local_50 = param_3" identifier = identifier) ;) (expression_statement "FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);" (call_expression "FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60)" identifier (argument_list "(param_1,0,param_1[4],&local_54,ppiVar12,&local_60)" ( identifier , number_literal , (subscript_expression "param_1[4]" identifier [ number_literal ]) , (pointer_expression "&local_54" & identifier) , identifier , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "local_58 = (int)local_50 - (int)param_3 >> 2;" (assignment_expression "local_58 = (int)local_50 - (int)param_3 >> 2" identifier = (binary_expression "(int)local_50 - (int)param_3 >> 2" (binary_expression "(int)local_50 - (int)param_3" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;" (assignment_expression "local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555" identifier = (binary_expression "((int)local_54 - (int)piVar11 >> 3) * -0x55555555" (parenthesized_expression "((int)local_54 - (int)piVar11 >> 3)" ( (binary_expression "(int)local_54 - (int)piVar11 >> 3" (binary_expression "(int)local_54 - (int)piVar11" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (if_statement "if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (compound_statement "{\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }" { (expression_statement "ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);" (assignment_expression "ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750)" identifier = (cast_expression "(int **)(PTR_LAB_0015b6d4 + 0x5750)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_LAB_0015b6d4 + 0x5750)" ( (binary_expression "PTR_LAB_0015b6d4 + 0x5750" identifier + number_literal) )))) ;) (expression_statement "local_60 = FUN_00125750(param_1,0,piVar11);" (assignment_expression "local_60 = FUN_00125750(param_1,0,piVar11)" identifier = (call_expression "FUN_00125750(param_1,0,piVar11)" identifier (argument_list "(param_1,0,piVar11)" ( identifier , number_literal , identifier )))) ;) (expression_statement "uVar13 = local_60;" (assignment_expression "uVar13 = local_60" identifier = identifier) ;) (if_statement "if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }" if (parenthesized_expression "((local_60 == 0) && (uVar10 = 0, 0 < local_58))" ( (binary_expression "(local_60 == 0) && (uVar10 = 0, 0 < local_58)" (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar10 = 0, 0 < local_58)" ( (comma_expression "uVar10 = 0, 0 < local_58" (assignment_expression "uVar10 = 0" identifier = number_literal) , (binary_expression "0 < local_58" number_literal < identifier)) ))) )) (compound_statement "{\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }" { (do_statement "do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);" do (compound_statement "{\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);" (assignment_expression "local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c)" identifier = (call_expression "FUN_00125750(param_1,*param_3,piVar11,local_5c)" identifier (argument_list "(param_1,*param_3,piVar11,local_5c)" ( identifier , (pointer_expression "*param_3" * identifier) , identifier , identifier )))) ;) (expression_statement "uVar13 = uVar10;" (assignment_expression "uVar13 = uVar10" identifier = identifier) ;) (if_statement "if (local_60 != 0) break;" if (parenthesized_expression "(local_60 != 0)" ( (binary_expression "local_60 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar10 < local_58)" ( (binary_expression "(int)uVar10 < local_58" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) })) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(piVar11);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier ))) ;) }))) })) (expression_statement "FUN_00127f08(param_1,param_1[4],&local_60);" (call_expression "FUN_00127f08(param_1,param_1[4],&local_60)" identifier (argument_list "(param_1,param_1[4],&local_60)" ( identifier , (subscript_expression "param_1[4]" identifier [ number_literal ]) , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "uVar10 = local_60;" (assignment_expression "uVar10 = local_60" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));" (call_expression "(*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8))" (parenthesized_expression "(*(code *)PTR_sqlite3_blob_close_0015b868)" ( (pointer_expression "*(code *)PTR_sqlite3_blob_close_0015b868" * (cast_expression "(code *)PTR_sqlite3_blob_close_0015b868" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar9 + 0xf8))" ( (pointer_expression "*(undefined4 *)(iVar9 + 0xf8)" * (cast_expression "(undefined4 *)(iVar9 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xf8)" ( (binary_expression "iVar9 + 0xf8" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(iVar9 + 0xf8) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0xf8) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0xf8)" * (cast_expression "(undefined4 *)(iVar9 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xf8)" ( (binary_expression "iVar9 + 0xf8" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }" { (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[10] = param_1[0xb];" (assignment_expression "param_1[10] = param_1[0xb]" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_001281e4;" goto statement_identifier ;) })) }) (else_clause "else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }" else (compound_statement "{\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }" { (expression_statement "uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0015b9c4)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0015b9c4)" ( (pointer_expression "*(code *)PTR_strlen_0015b9c4" * (cast_expression "(code *)PTR_strlen_0015b9c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4124))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x4124)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x4124)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x4124)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x4124" identifier + number_literal) )))) )) (argument_list "(ppiVar12,param_3,uVar6,piVar11,&local_54)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }" { (expression_statement "iVar5 = param_1[4];" (assignment_expression "iVar5 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (if_statement "if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }" { (if_statement "if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }" { (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4f20))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x4f20)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x4f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x4f20)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x4f20" identifier + number_literal) )))) )) (argument_list "(piVar11,0xc)" ( identifier , number_literal )))) ;) (if_statement "if (uVar10 != 0) goto LAB_0012844c;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012844c;" goto statement_identifier ;)) (expression_statement "iVar7 = param_1[4];" (assignment_expression "iVar7 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);" (assignment_expression "uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x24b4))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x24b4)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x24b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x24b4)" ( (binary_expression "PTR_LAB_0015b65c + 0x24b4" identifier + number_literal) )))) )) (argument_list "(iVar7,0xc)" ( identifier , number_literal )))) ;) (expression_statement "uVar10 = (uint)((ulonglong)uVar14 >> 0x20);" (assignment_expression "uVar10 = (uint)((ulonglong)uVar14 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar14 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar14 >> 0x20)" ( (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "iVar5 = (int)uVar14;" (assignment_expression "iVar5 = (int)uVar14" identifier = (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (uVar10 != 0) goto LAB_00128450;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00128450;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00128570;" goto statement_identifier ;) })) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x3f2c)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x3f2c" identifier + number_literal) )))) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;" statement_identifier : (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x2490;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x2490" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x2490" identifier + number_literal)) ;)) (expression_statement "piVar8 = param_3;" (assignment_expression "piVar8 = param_3" identifier = identifier) ;) }) (else_clause "else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }" else (compound_statement "{\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }" { (labeled_statement "LAB_0012844c:\n            iVar7 = param_1[4];" statement_identifier : (expression_statement "iVar7 = param_1[4];" (assignment_expression "iVar7 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x3f2c)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x3f2c" identifier + number_literal) )))) )) (argument_list "(iVar7)" ( identifier ))) ;)) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }" if (parenthesized_expression "(uVar10 != 0x12)" ( (binary_expression "uVar10 != 0x12" identifier != number_literal) )) (compound_statement "{\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }" { (if_statement "if (uVar10 != 1) goto LAB_001281f8;" if (parenthesized_expression "(uVar10 != 1)" ( (binary_expression "uVar10 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001281f8;" goto statement_identifier ;)) (goto_statement "goto LAB_0012841c;" goto statement_identifier ;) })) (expression_statement "piVar8 = (int *)&DAT_0000000c;" (assignment_expression "piVar8 = (int *)&DAT_0000000c" identifier = (cast_expression "(int *)&DAT_0000000c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x24c4;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x24c4" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x24c4" identifier + number_literal)) ;) }))) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (expression_statement "(*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);" (call_expression "(*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8)" (parenthesized_expression "(*(code *)(PTR_DAT_0015b71c + 0x2618))" ( (pointer_expression "*(code *)(PTR_DAT_0015b71c + 0x2618)" * (cast_expression "(code *)(PTR_DAT_0015b71c + 0x2618)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015b71c + 0x2618)" ( (binary_expression "PTR_DAT_0015b71c + 0x2618" identifier + number_literal) )))) )) (argument_list "(uVar13,puVar4,piVar8)" ( identifier , identifier , identifier ))) ;) }))) }))) }))) (labeled_statement "LAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar2)" ( (binary_expression "local_2c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return uVar10;\n    }" { (return_statement "return uVar10;" return identifier ;) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00128814:\n    uVar14 = 0x8000000000000000;" statement_identifier : (expression_statement "uVar14 = 0x8000000000000000;" (assignment_expression "uVar14 = 0x8000000000000000" identifier = number_literal) ;)) (labeled_statement "LAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;" statement_identifier : (expression_statement "*(undefined8 *)(param_1 + 0x12) = uVar14;" (assignment_expression "*(undefined8 *)(param_1 + 0x12) = uVar14" (pointer_expression "*(undefined8 *)(param_1 + 0x12)" * (cast_expression "(undefined8 *)(param_1 + 0x12)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x12)" ( (binary_expression "param_1 + 0x12" identifier + number_literal) )))) = identifier) ;)) (if_statement "if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }" if (parenthesized_expression "(ppiVar12 == (int **)0x0)" ( (binary_expression "ppiVar12 == (int **)0x0" identifier == (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      uVar14 = 0x7fffffffffffffff;\n    }" { (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }" else (compound_statement "{\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }" { (expression_statement "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" ( (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" * (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppiVar12)" ( identifier )))) ;) (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" identifier = number_literal) ;) (if_statement "if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }" { (expression_statement "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);" (assignment_expression "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)" ( (pointer_expression "*(code *)PTR_sqlite3_value_int64_0015b608" * (cast_expression "(code *)PTR_sqlite3_value_int64_0015b608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppiVar12)" ( identifier )))) ;) })) }))) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "int fts3FilterMethod(sqlite3_vtab_cursor *pCursor,int idxNum,char *idxStr,int nVal,\n                    sqlite3_value **apVal)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  Fts3Expr *pExpr;\n  sqlite3_vtab *psVar8;\n  sqlite3_vtab *psVar9;\n  uint uVar10;\n  sqlite3_value *aTC;\n  sqlite3_value *ppOr;\n  sqlite3_value *psVar11;\n  sqlite3_value *psVar12;\n  undefined8 uVar13;\n  sqlite3_value *psStack_64;\n  int rc;\n  int nToken;\n  int nOr;\n  int nParsed;\n  ParseContext sParse;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = idxNum & 0xffff;\n  psVar9 = pCursor->pVtab;\n  iVar3 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    psStack_64 = (sqlite3_value *)0x0;\n  }\n  else {\n    psStack_64 = *apVal;\n  }\n  uVar4 = (uint)(uVar10 != 0);\n  if (idxNum << 0xf < 0) {\n    psVar11 = apVal[uVar4];\n    uVar4 = uVar4 + 1;\n    if (idxNum << 0xe < 0) goto LAB_00128240;\nLAB_001280e8:\n    if (idxNum << 0xd < 0) {\n      aTC = (sqlite3_value *)0x0;\n      ppOr = apVal[uVar4];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      uVar13 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n  }\n  else {\n    psVar11 = (sqlite3_value *)0x0;\n    if (-1 < idxNum << 0xe) goto LAB_001280e8;\nLAB_00128240:\n    aTC = apVal[uVar4];\n    if (idxNum << 0xd < 0) {\n      ppOr = apVal[uVar4 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      if (aTC == (sqlite3_value *)0x0) goto LAB_00128814;\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      uVar13 = 0x8000000000000000;\n      if (iVar6 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n    if (aTC != (sqlite3_value *)0x0) {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      if (iVar6 == 1) {\n        ppOr = (sqlite3_value *)0x0;\n        goto LAB_0012829c;\n      }\n      pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n      ppOr = (sqlite3_value *)0x0;\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n      uVar13 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n  aTC = (sqlite3_value *)0x0;\n  pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n  ppOr = (sqlite3_value *)0x0;\n  uVar13 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(pCursor + 0x14) = uVar13;\n    if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n      cVar1 = (char)psVar9[0x13].nRef;\n    }\n    else {\n      cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';\n    }\n    *(char *)&pCursor[0xd].pVtab = cVar1;\n    *(short *)&pCursor[1].pVtab = (short)idxNum;\n    if ((idxNum & 0xfffeU) == 0) {\n      if (uVar10 == 0) {\n        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }\n        if (iVar6 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);\n    }\n    else {\n      idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);\n      if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (iVar3 == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar13 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(pCursor + 0x12) = uVar13;\n    if (ppOr == (sqlite3_value *)0x0) {\n      uVar13 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);\n      uVar13 = 0x7fffffffffffffff;\n      if (iVar6 == 1) {\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }\n    }\n  } while( true );\n}\n\n" (function_definition "int fts3FilterMethod(sqlite3_vtab_cursor *pCursor,int idxNum,char *idxStr,int nVal,\n                    sqlite3_value **apVal)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  Fts3Expr *pExpr;\n  sqlite3_vtab *psVar8;\n  sqlite3_vtab *psVar9;\n  uint uVar10;\n  sqlite3_value *aTC;\n  sqlite3_value *ppOr;\n  sqlite3_value *psVar11;\n  sqlite3_value *psVar12;\n  undefined8 uVar13;\n  sqlite3_value *psStack_64;\n  int rc;\n  int nToken;\n  int nOr;\n  int nParsed;\n  ParseContext sParse;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = idxNum & 0xffff;\n  psVar9 = pCursor->pVtab;\n  iVar3 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    psStack_64 = (sqlite3_value *)0x0;\n  }\n  else {\n    psStack_64 = *apVal;\n  }\n  uVar4 = (uint)(uVar10 != 0);\n  if (idxNum << 0xf < 0) {\n    psVar11 = apVal[uVar4];\n    uVar4 = uVar4 + 1;\n    if (idxNum << 0xe < 0) goto LAB_00128240;\nLAB_001280e8:\n    if (idxNum << 0xd < 0) {\n      aTC = (sqlite3_value *)0x0;\n      ppOr = apVal[uVar4];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      uVar13 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n  }\n  else {\n    psVar11 = (sqlite3_value *)0x0;\n    if (-1 < idxNum << 0xe) goto LAB_001280e8;\nLAB_00128240:\n    aTC = apVal[uVar4];\n    if (idxNum << 0xd < 0) {\n      ppOr = apVal[uVar4 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      if (aTC == (sqlite3_value *)0x0) goto LAB_00128814;\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      uVar13 = 0x8000000000000000;\n      if (iVar6 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n    if (aTC != (sqlite3_value *)0x0) {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      if (iVar6 == 1) {\n        ppOr = (sqlite3_value *)0x0;\n        goto LAB_0012829c;\n      }\n      pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n      ppOr = (sqlite3_value *)0x0;\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n      uVar13 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n  aTC = (sqlite3_value *)0x0;\n  pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n  ppOr = (sqlite3_value *)0x0;\n  uVar13 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(pCursor + 0x14) = uVar13;\n    if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n      cVar1 = (char)psVar9[0x13].nRef;\n    }\n    else {\n      cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';\n    }\n    *(char *)&pCursor[0xd].pVtab = cVar1;\n    *(short *)&pCursor[1].pVtab = (short)idxNum;\n    if ((idxNum & 0xfffeU) == 0) {\n      if (uVar10 == 0) {\n        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }\n        if (iVar6 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);\n    }\n    else {\n      idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);\n      if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (iVar3 == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar13 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(pCursor + 0x12) = uVar13;\n    if (ppOr == (sqlite3_value *)0x0) {\n      uVar13 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);\n      uVar13 = 0x7fffffffffffffff;\n      if (iVar6 == 1) {\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }\n    }\n  } while( true );\n}" primitive_type (function_declarator "fts3FilterMethod(sqlite3_vtab_cursor *pCursor,int idxNum,char *idxStr,int nVal,\n                    sqlite3_value **apVal)" identifier (parameter_list "(sqlite3_vtab_cursor *pCursor,int idxNum,char *idxStr,int nVal,\n                    sqlite3_value **apVal)" ( (parameter_declaration "sqlite3_vtab_cursor *pCursor" type_identifier (pointer_declarator "*pCursor" * identifier)) , (parameter_declaration "int idxNum" primitive_type identifier) , (parameter_declaration "char *idxStr" primitive_type (pointer_declarator "*idxStr" * identifier)) , (parameter_declaration "int nVal" primitive_type identifier) , (parameter_declaration "sqlite3_value **apVal" type_identifier (pointer_declarator "**apVal" * (pointer_declarator "*apVal" * identifier))) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  Fts3Expr *pExpr;\n  sqlite3_vtab *psVar8;\n  sqlite3_vtab *psVar9;\n  uint uVar10;\n  sqlite3_value *aTC;\n  sqlite3_value *ppOr;\n  sqlite3_value *psVar11;\n  sqlite3_value *psVar12;\n  undefined8 uVar13;\n  sqlite3_value *psStack_64;\n  int rc;\n  int nToken;\n  int nOr;\n  int nParsed;\n  ParseContext sParse;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = idxNum & 0xffff;\n  psVar9 = pCursor->pVtab;\n  iVar3 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    psStack_64 = (sqlite3_value *)0x0;\n  }\n  else {\n    psStack_64 = *apVal;\n  }\n  uVar4 = (uint)(uVar10 != 0);\n  if (idxNum << 0xf < 0) {\n    psVar11 = apVal[uVar4];\n    uVar4 = uVar4 + 1;\n    if (idxNum << 0xe < 0) goto LAB_00128240;\nLAB_001280e8:\n    if (idxNum << 0xd < 0) {\n      aTC = (sqlite3_value *)0x0;\n      ppOr = apVal[uVar4];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      uVar13 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n  }\n  else {\n    psVar11 = (sqlite3_value *)0x0;\n    if (-1 < idxNum << 0xe) goto LAB_001280e8;\nLAB_00128240:\n    aTC = apVal[uVar4];\n    if (idxNum << 0xd < 0) {\n      ppOr = apVal[uVar4 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      if (aTC == (sqlite3_value *)0x0) goto LAB_00128814;\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      uVar13 = 0x8000000000000000;\n      if (iVar6 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n    if (aTC != (sqlite3_value *)0x0) {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      if (iVar6 == 1) {\n        ppOr = (sqlite3_value *)0x0;\n        goto LAB_0012829c;\n      }\n      pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n      ppOr = (sqlite3_value *)0x0;\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n      uVar13 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n  aTC = (sqlite3_value *)0x0;\n  pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n  ppOr = (sqlite3_value *)0x0;\n  uVar13 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(pCursor + 0x14) = uVar13;\n    if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n      cVar1 = (char)psVar9[0x13].nRef;\n    }\n    else {\n      cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';\n    }\n    *(char *)&pCursor[0xd].pVtab = cVar1;\n    *(short *)&pCursor[1].pVtab = (short)idxNum;\n    if ((idxNum & 0xfffeU) == 0) {\n      if (uVar10 == 0) {\n        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }\n        if (iVar6 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);\n    }\n    else {\n      idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);\n      if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (iVar3 == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar13 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(pCursor + 0x12) = uVar13;\n    if (ppOr == (sqlite3_value *)0x0) {\n      uVar13 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);\n      uVar13 = 0x7fffffffffffffff;\n      if (iVar6 == 1) {\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }\n    }\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "Fts3Expr *pExpr;" type_identifier (pointer_declarator "*pExpr" * identifier) ;) (declaration "sqlite3_vtab *psVar8;" type_identifier (pointer_declarator "*psVar8" * identifier) ;) (declaration "sqlite3_vtab *psVar9;" type_identifier (pointer_declarator "*psVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "sqlite3_value *aTC;" type_identifier (pointer_declarator "*aTC" * identifier) ;) (declaration "sqlite3_value *ppOr;" type_identifier (pointer_declarator "*ppOr" * identifier) ;) (declaration "sqlite3_value *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "sqlite3_value *psVar12;" type_identifier (pointer_declarator "*psVar12" * identifier) ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "sqlite3_value *psStack_64;" type_identifier (pointer_declarator "*psStack_64" * identifier) ;) (declaration "int rc;" primitive_type identifier ;) (declaration "int nToken;" primitive_type identifier ;) (declaration "int nOr;" primitive_type identifier ;) (declaration "int nParsed;" primitive_type identifier ;) (declaration "ParseContext sParse;" type_identifier identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "uVar10 = idxNum & 0xffff;" (assignment_expression "uVar10 = idxNum & 0xffff" identifier = (binary_expression "idxNum & 0xffff" identifier & number_literal)) ;) (expression_statement "psVar9 = pCursor->pVtab;" (assignment_expression "psVar9 = pCursor->pVtab" identifier = (field_expression "pCursor->pVtab" identifier -> field_identifier)) ;) (expression_statement "iVar3 = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "iVar3 = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (uVar10 == 0) {\n    psStack_64 = (sqlite3_value *)0x0;\n  }\n  else {\n    psStack_64 = *apVal;\n  }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n    psStack_64 = (sqlite3_value *)0x0;\n  }" { (expression_statement "psStack_64 = (sqlite3_value *)0x0;" (assignment_expression "psStack_64 = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    psStack_64 = *apVal;\n  }" else (compound_statement "{\n    psStack_64 = *apVal;\n  }" { (expression_statement "psStack_64 = *apVal;" (assignment_expression "psStack_64 = *apVal" identifier = (pointer_expression "*apVal" * identifier)) ;) }))) (expression_statement "uVar4 = (uint)(uVar10 != 0);" (assignment_expression "uVar4 = (uint)(uVar10 != 0)" identifier = (call_expression "(uint)(uVar10 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )))) ;) (if_statement "if (idxNum << 0xf < 0) {\n    psVar11 = apVal[uVar4];\n    uVar4 = uVar4 + 1;\n    if (idxNum << 0xe < 0) goto LAB_00128240;\nLAB_001280e8:\n    if (idxNum << 0xd < 0) {\n      aTC = (sqlite3_value *)0x0;\n      ppOr = apVal[uVar4];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      uVar13 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n  }\n  else {\n    psVar11 = (sqlite3_value *)0x0;\n    if (-1 < idxNum << 0xe) goto LAB_001280e8;\nLAB_00128240:\n    aTC = apVal[uVar4];\n    if (idxNum << 0xd < 0) {\n      ppOr = apVal[uVar4 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      if (aTC == (sqlite3_value *)0x0) goto LAB_00128814;\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      uVar13 = 0x8000000000000000;\n      if (iVar6 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n    if (aTC != (sqlite3_value *)0x0) {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      if (iVar6 == 1) {\n        ppOr = (sqlite3_value *)0x0;\n        goto LAB_0012829c;\n      }\n      pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n      ppOr = (sqlite3_value *)0x0;\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n      uVar13 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" if (parenthesized_expression "(idxNum << 0xf < 0)" ( (binary_expression "idxNum << 0xf < 0" (binary_expression "idxNum << 0xf" identifier << number_literal) < number_literal) )) (compound_statement "{\n    psVar11 = apVal[uVar4];\n    uVar4 = uVar4 + 1;\n    if (idxNum << 0xe < 0) goto LAB_00128240;\nLAB_001280e8:\n    if (idxNum << 0xd < 0) {\n      aTC = (sqlite3_value *)0x0;\n      ppOr = apVal[uVar4];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      uVar13 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n  }" { (expression_statement "psVar11 = apVal[uVar4];" (assignment_expression "psVar11 = apVal[uVar4]" identifier = (subscript_expression "apVal[uVar4]" identifier [ identifier ])) ;) (expression_statement "uVar4 = uVar4 + 1;" (assignment_expression "uVar4 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) (if_statement "if (idxNum << 0xe < 0) goto LAB_00128240;" if (parenthesized_expression "(idxNum << 0xe < 0)" ( (binary_expression "idxNum << 0xe < 0" (binary_expression "idxNum << 0xe" identifier << number_literal) < number_literal) )) (goto_statement "goto LAB_00128240;" goto statement_identifier ;)) (labeled_statement "LAB_001280e8:\n    if (idxNum << 0xd < 0) {\n      aTC = (sqlite3_value *)0x0;\n      ppOr = apVal[uVar4];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      uVar13 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" statement_identifier : (if_statement "if (idxNum << 0xd < 0) {\n      aTC = (sqlite3_value *)0x0;\n      ppOr = apVal[uVar4];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      uVar13 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" if (parenthesized_expression "(idxNum << 0xd < 0)" ( (binary_expression "idxNum << 0xd < 0" (binary_expression "idxNum << 0xd" identifier << number_literal) < number_literal) )) (compound_statement "{\n      aTC = (sqlite3_value *)0x0;\n      ppOr = apVal[uVar4];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      uVar13 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" { (expression_statement "aTC = (sqlite3_value *)0x0;" (assignment_expression "aTC = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppOr = apVal[uVar4];" (assignment_expression "ppOr = apVal[uVar4]" identifier = (subscript_expression "apVal[uVar4]" identifier [ identifier ])) ;) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(pCursor)" ( identifier ))) ;) (expression_statement "uVar13 = 0x8000000000000000;" (assignment_expression "uVar13 = 0x8000000000000000" identifier = number_literal) ;) (goto_statement "goto LAB_001282e8;" goto statement_identifier ;) }))) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(pCursor)" ( identifier ))) ;) }) (else_clause "else {\n    psVar11 = (sqlite3_value *)0x0;\n    if (-1 < idxNum << 0xe) goto LAB_001280e8;\nLAB_00128240:\n    aTC = apVal[uVar4];\n    if (idxNum << 0xd < 0) {\n      ppOr = apVal[uVar4 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      if (aTC == (sqlite3_value *)0x0) goto LAB_00128814;\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      uVar13 = 0x8000000000000000;\n      if (iVar6 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n    if (aTC != (sqlite3_value *)0x0) {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      if (iVar6 == 1) {\n        ppOr = (sqlite3_value *)0x0;\n        goto LAB_0012829c;\n      }\n      pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n      ppOr = (sqlite3_value *)0x0;\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n      uVar13 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" else (compound_statement "{\n    psVar11 = (sqlite3_value *)0x0;\n    if (-1 < idxNum << 0xe) goto LAB_001280e8;\nLAB_00128240:\n    aTC = apVal[uVar4];\n    if (idxNum << 0xd < 0) {\n      ppOr = apVal[uVar4 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      if (aTC == (sqlite3_value *)0x0) goto LAB_00128814;\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      uVar13 = 0x8000000000000000;\n      if (iVar6 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n    if (aTC != (sqlite3_value *)0x0) {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      if (iVar6 == 1) {\n        ppOr = (sqlite3_value *)0x0;\n        goto LAB_0012829c;\n      }\n      pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n      ppOr = (sqlite3_value *)0x0;\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n      uVar13 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" { (expression_statement "psVar11 = (sqlite3_value *)0x0;" (assignment_expression "psVar11 = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (-1 < idxNum << 0xe) goto LAB_001280e8;" if (parenthesized_expression "(-1 < idxNum << 0xe)" ( (binary_expression "-1 < idxNum << 0xe" number_literal < (binary_expression "idxNum << 0xe" identifier << number_literal)) )) (goto_statement "goto LAB_001280e8;" goto statement_identifier ;)) (labeled_statement "LAB_00128240:\n    aTC = apVal[uVar4];" statement_identifier : (expression_statement "aTC = apVal[uVar4];" (assignment_expression "aTC = apVal[uVar4]" identifier = (subscript_expression "apVal[uVar4]" identifier [ identifier ])) ;)) (if_statement "if (idxNum << 0xd < 0) {\n      ppOr = apVal[uVar4 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      if (aTC == (sqlite3_value *)0x0) goto LAB_00128814;\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      uVar13 = 0x8000000000000000;\n      if (iVar6 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);\n      goto LAB_001282e8;\n    }" if (parenthesized_expression "(idxNum << 0xd < 0)" ( (binary_expression "idxNum << 0xd < 0" (binary_expression "idxNum << 0xd" identifier << number_literal) < number_literal) )) (compound_statement "{\n      ppOr = apVal[uVar4 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);\n      if (aTC == (sqlite3_value *)0x0) goto LAB_00128814;\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      uVar13 = 0x8000000000000000;\n      if (iVar6 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);\n      goto LAB_001282e8;\n    }" { (expression_statement "ppOr = apVal[uVar4 + 1];" (assignment_expression "ppOr = apVal[uVar4 + 1]" identifier = (subscript_expression "apVal[uVar4 + 1]" identifier [ (binary_expression "uVar4 + 1" identifier + number_literal) ])) ;) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(pCursor)" ( identifier ))) ;) (if_statement "if (aTC == (sqlite3_value *)0x0) goto LAB_00128814;" if (parenthesized_expression "(aTC == (sqlite3_value *)0x0)" ( (binary_expression "aTC == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00128814;" goto statement_identifier ;)) (expression_statement "iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" ( (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" * (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(aTC)" ( identifier )))) ;) (expression_statement "uVar13 = 0x8000000000000000;" (assignment_expression "uVar13 = 0x8000000000000000" identifier = number_literal) ;) (if_statement "if (iVar6 != 1) goto LAB_001282e8;" if (parenthesized_expression "(iVar6 != 1)" ( (binary_expression "iVar6 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001282e8;" goto statement_identifier ;)) (labeled_statement "LAB_0012829c:\n      uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);" statement_identifier : (expression_statement "uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC);" (assignment_expression "uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(aTC)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)(aTC)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)" ( (pointer_expression "*(code *)PTR_sqlite3_value_int64_0015b608" * (cast_expression "(code *)PTR_sqlite3_value_int64_0015b608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(aTC)" ( identifier )))) ;)) (goto_statement "goto LAB_001282e8;" goto statement_identifier ;) })) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(pCursor)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(pCursor)" ( identifier ))) ;) (if_statement "if (aTC != (sqlite3_value *)0x0) {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      if (iVar6 == 1) {\n        ppOr = (sqlite3_value *)0x0;\n        goto LAB_0012829c;\n      }\n      pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n      ppOr = (sqlite3_value *)0x0;\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n      uVar13 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }" if (parenthesized_expression "(aTC != (sqlite3_value *)0x0)" ( (binary_expression "aTC != (sqlite3_value *)0x0" identifier != (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);\n      if (iVar6 == 1) {\n        ppOr = (sqlite3_value *)0x0;\n        goto LAB_0012829c;\n      }\n      pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;\n      ppOr = (sqlite3_value *)0x0;\n      pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;\n      uVar13 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }" { (expression_statement "iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC);" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(aTC)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" ( (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" * (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(aTC)" ( identifier )))) ;) (if_statement "if (iVar6 == 1) {\n        ppOr = (sqlite3_value *)0x0;\n        goto LAB_0012829c;\n      }" if (parenthesized_expression "(iVar6 == 1)" ( (binary_expression "iVar6 == 1" identifier == number_literal) )) (compound_statement "{\n        ppOr = (sqlite3_value *)0x0;\n        goto LAB_0012829c;\n      }" { (expression_statement "ppOr = (sqlite3_value *)0x0;" (assignment_expression "ppOr = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0012829c;" goto statement_identifier ;) })) (expression_statement "pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;" (assignment_expression "pCursor[0x13].pVtab = (sqlite3_vtab *)0x0" (field_expression "pCursor[0x13].pVtab" (subscript_expression "pCursor[0x13]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppOr = (sqlite3_value *)0x0;" (assignment_expression "ppOr = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;" (assignment_expression "pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000" (field_expression "pCursor[0x12].pVtab" (subscript_expression "pCursor[0x12]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x80000000" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar13 = 0x7fffffffffffffff;" (assignment_expression "uVar13 = 0x7fffffffffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00128128;" goto statement_identifier ;) })) }))) (expression_statement "pCursor[0x13].pVtab = (sqlite3_vtab *)0x0;" (assignment_expression "pCursor[0x13].pVtab = (sqlite3_vtab *)0x0" (field_expression "pCursor[0x13].pVtab" (subscript_expression "pCursor[0x13]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aTC = (sqlite3_value *)0x0;" (assignment_expression "aTC = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000;" (assignment_expression "pCursor[0x12].pVtab = (sqlite3_vtab *)0x80000000" (field_expression "pCursor[0x12].pVtab" (subscript_expression "pCursor[0x12]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x80000000" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppOr = (sqlite3_value *)0x0;" (assignment_expression "ppOr = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar13 = 0x7fffffffffffffff;" (assignment_expression "uVar13 = 0x7fffffffffffffff" identifier = number_literal) ;) (labeled_statement "LAB_00128128:\n  do {\n    *(undefined8 *)(pCursor + 0x14) = uVar13;\n    if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n      cVar1 = (char)psVar9[0x13].nRef;\n    }\n    else {\n      cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';\n    }\n    *(char *)&pCursor[0xd].pVtab = cVar1;\n    *(short *)&pCursor[1].pVtab = (short)idxNum;\n    if ((idxNum & 0xfffeU) == 0) {\n      if (uVar10 == 0) {\n        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }\n        if (iVar6 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);\n    }\n    else {\n      idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);\n      if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (iVar3 == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar13 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(pCursor + 0x12) = uVar13;\n    if (ppOr == (sqlite3_value *)0x0) {\n      uVar13 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);\n      uVar13 = 0x7fffffffffffffff;\n      if (iVar6 == 1) {\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    *(undefined8 *)(pCursor + 0x14) = uVar13;\n    if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n      cVar1 = (char)psVar9[0x13].nRef;\n    }\n    else {\n      cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';\n    }\n    *(char *)&pCursor[0xd].pVtab = cVar1;\n    *(short *)&pCursor[1].pVtab = (short)idxNum;\n    if ((idxNum & 0xfffeU) == 0) {\n      if (uVar10 == 0) {\n        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }\n        if (iVar6 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);\n    }\n    else {\n      idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);\n      if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (iVar3 == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar13 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(pCursor + 0x12) = uVar13;\n    if (ppOr == (sqlite3_value *)0x0) {\n      uVar13 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);\n      uVar13 = 0x7fffffffffffffff;\n      if (iVar6 == 1) {\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }\n    }\n  } while( true );" do (compound_statement "{\n    *(undefined8 *)(pCursor + 0x14) = uVar13;\n    if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n      cVar1 = (char)psVar9[0x13].nRef;\n    }\n    else {\n      cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';\n    }\n    *(char *)&pCursor[0xd].pVtab = cVar1;\n    *(short *)&pCursor[1].pVtab = (short)idxNum;\n    if ((idxNum & 0xfffeU) == 0) {\n      if (uVar10 == 0) {\n        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }\n        if (iVar6 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);\n    }\n    else {\n      idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);\n      if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (iVar3 == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar13 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(pCursor + 0x12) = uVar13;\n    if (ppOr == (sqlite3_value *)0x0) {\n      uVar13 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);\n      uVar13 = 0x7fffffffffffffff;\n      if (iVar6 == 1) {\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }\n    }\n  }" { (expression_statement "*(undefined8 *)(pCursor + 0x14) = uVar13;" (assignment_expression "*(undefined8 *)(pCursor + 0x14) = uVar13" (pointer_expression "*(undefined8 *)(pCursor + 0x14)" * (cast_expression "(undefined8 *)(pCursor + 0x14)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pCursor + 0x14)" ( (binary_expression "pCursor + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n      cVar1 = (char)psVar9[0x13].nRef;\n    }\n    else {\n      cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';\n    }" if (parenthesized_expression "((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0)" ( (binary_expression "(sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0" (cast_expression "(sqlite3_vtab *)idxStr" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      cVar1 = (char)psVar9[0x13].nRef;\n    }" { (expression_statement "cVar1 = (char)psVar9[0x13].nRef;" (assignment_expression "cVar1 = (char)psVar9[0x13].nRef" identifier = (cast_expression "(char)psVar9[0x13].nRef" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar9[0x13].nRef" (subscript_expression "psVar9[0x13]" identifier [ number_literal ]) . field_identifier))) ;) }) (else_clause "else {\n      cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';\n    }" else (compound_statement "{\n      cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';\n    }" { (expression_statement "cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D';" (assignment_expression "cVar1 = *(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D'" identifier = (binary_expression "*(char *)&((sqlite3_vtab *)idxStr)->pModule == 'D'" (pointer_expression "*(char *)&((sqlite3_vtab *)idxStr)->pModule" * (cast_expression "(char *)&((sqlite3_vtab *)idxStr)->pModule" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((sqlite3_vtab *)idxStr)->pModule" & (field_expression "((sqlite3_vtab *)idxStr)->pModule" (parenthesized_expression "((sqlite3_vtab *)idxStr)" ( (cast_expression "(sqlite3_vtab *)idxStr" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) == (char_literal "'D'" ' character '))) ;) }))) (expression_statement "*(char *)&pCursor[0xd].pVtab = cVar1;" (assignment_expression "*(char *)&pCursor[0xd].pVtab = cVar1" (pointer_expression "*(char *)&pCursor[0xd].pVtab" * (cast_expression "(char *)&pCursor[0xd].pVtab" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCursor[0xd].pVtab" & (field_expression "pCursor[0xd].pVtab" (subscript_expression "pCursor[0xd]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "*(short *)&pCursor[1].pVtab = (short)idxNum;" (assignment_expression "*(short *)&pCursor[1].pVtab = (short)idxNum" (pointer_expression "*(short *)&pCursor[1].pVtab" * (cast_expression "(short *)&pCursor[1].pVtab" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCursor[1].pVtab" & (field_expression "pCursor[1].pVtab" (subscript_expression "pCursor[1]" identifier [ number_literal ]) . field_identifier)))) = (cast_expression "(short)idxNum" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (if_statement "if ((idxNum & 0xfffeU) == 0) {\n      if (uVar10 == 0) {\n        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }\n        if (iVar6 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);\n    }\n    else {\n      idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);\n      if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }\n    }" if (parenthesized_expression "((idxNum & 0xfffeU) == 0)" ( (binary_expression "(idxNum & 0xfffeU) == 0" (parenthesized_expression "(idxNum & 0xfffeU)" ( (binary_expression "idxNum & 0xfffeU" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if (uVar10 == 0) {\n        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }\n        if (iVar6 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);\n    }" { (if_statement "if (uVar10 == 0) {\n        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }\n        if (iVar6 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }\n        if (iVar6 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar6);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }" { (if_statement "if ((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)) {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }" if (parenthesized_expression "((aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0))" ( (binary_expression "(aTC == (sqlite3_value *)0x0) && (ppOr == (sqlite3_value *)0x0)" (parenthesized_expression "(aTC == (sqlite3_value *)0x0)" ( (binary_expression "aTC == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(ppOr == (sqlite3_value *)0x0)" ( (binary_expression "ppOr == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);\n        }" { (if_statement "if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }" { (expression_statement "puVar5 = PTR_DAT_0015b5fc + -0x48b4;" (assignment_expression "puVar5 = PTR_DAT_0015b5fc + -0x48b4" identifier = (binary_expression "PTR_DAT_0015b5fc + -0x48b4" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }" else (compound_statement "{\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }" { (expression_statement "puVar5 = PTR_DAT_0015b5fc + -0x51b0;" (assignment_expression "puVar5 = PTR_DAT_0015b5fc + -0x51b0" identifier = (binary_expression "PTR_DAT_0015b5fc + -0x51b0" identifier + number_literal)) ;) }))) (expression_statement "iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5);" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0015b5fc + -0x242c,psVar9[0x12].nRef,puVar5)" ( (binary_expression "PTR_DAT_0015b5fc + -0x242c" identifier + number_literal) , (field_expression "psVar9[0x12].nRef" (subscript_expression "psVar9[0x12]" identifier [ number_literal ]) . field_identifier) , identifier )))) ;) }) (else_clause "else {\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }" else (compound_statement "{\n          if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }\n          iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);\n        }" { (if_statement "if (cVar1 == '\0') {\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar5 = PTR_DAT_0015b5fc + -0x48b4;\n          }" { (expression_statement "puVar5 = PTR_DAT_0015b5fc + -0x48b4;" (assignment_expression "puVar5 = PTR_DAT_0015b5fc + -0x48b4" identifier = (binary_expression "PTR_DAT_0015b5fc + -0x48b4" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }" else (compound_statement "{\n            puVar5 = PTR_DAT_0015b5fc + -0x51b0;\n          }" { (expression_statement "puVar5 = PTR_DAT_0015b5fc + -0x51b0;" (assignment_expression "puVar5 = PTR_DAT_0015b5fc + -0x51b0" identifier = (binary_expression "PTR_DAT_0015b5fc + -0x51b0" identifier + number_literal)) ;) }))) (expression_statement "iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5);" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0015b5fc + -0x246c,psVar9[0x12].nRef,pCursor[0x12].pVtab,\n                             pCursor[0x13].pVtab,uVar13,puVar5)" ( (binary_expression "PTR_DAT_0015b5fc + -0x246c" identifier + number_literal) , (field_expression "psVar9[0x12].nRef" (subscript_expression "psVar9[0x12]" identifier [ number_literal ]) . field_identifier) , (field_expression "pCursor[0x12].pVtab" (subscript_expression "pCursor[0x12]" identifier [ number_literal ]) . field_identifier) , (field_expression "pCursor[0x13].pVtab" (subscript_expression "pCursor[0x13]" identifier [ number_literal ]) . field_identifier) , identifier , identifier )))) ;) }))) (if_statement "if (iVar6 == 0) goto LAB_00128540;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00128540;" goto statement_identifier ;)) (expression_statement "uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0);" (assignment_expression "uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0)" identifier = (call_expression "(*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0)" (parenthesized_expression "(*(code *)PTR_sqlite3_prepare_v3_0015b8a0)" ( (pointer_expression "*(code *)PTR_sqlite3_prepare_v3_0015b8a0" * (cast_expression "(code *)PTR_sqlite3_prepare_v3_0015b8a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar9[1].pModule,iVar6,0xffffffff,1,pCursor + 3,0)" ( (field_expression "psVar9[1].pModule" (subscript_expression "psVar9[1]" identifier [ number_literal ]) . field_identifier) , identifier , number_literal , number_literal , (binary_expression "pCursor + 3" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(iVar6);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(iVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (labeled_statement "LAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;" statement_identifier : (if_statement "if (uVar10 != 0) goto LAB_001281f8;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001281f8;" goto statement_identifier ;))) }) (else_clause "else if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }" else (if_statement "if (uVar10 == 1) {\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }" if (parenthesized_expression "(uVar10 == 1)" ( (binary_expression "uVar10 == 1" identifier == number_literal) )) (compound_statement "{\n        psVar8 = pCursor[3].pVtab;\n        if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);\n        goto LAB_001281d8;\n      }" { (expression_statement "psVar8 = pCursor[3].pVtab;" (assignment_expression "psVar8 = pCursor[3].pVtab" identifier = (field_expression "pCursor[3].pVtab" (subscript_expression "pCursor[3]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (psVar8 == (sqlite3_vtab *)0x0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }" if (parenthesized_expression "(psVar8 == (sqlite3_vtab *)0x0)" ( (binary_expression "psVar8 == (sqlite3_vtab *)0x0" identifier == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);\n          if (uVar10 != 0) goto LAB_001281f8;\n          psVar8 = pCursor[3].pVtab;\n        }" { (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(pCursor)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6d0 + -0x7e8c)" * (cast_expression "(code *)(PTR_LAB_0015b6d0 + -0x7e8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d0 + -0x7e8c)" ( (binary_expression "PTR_LAB_0015b6d0 + -0x7e8c" identifier + number_literal) )))) )) (argument_list "(pCursor)" ( identifier )))) ;) (if_statement "if (uVar10 != 0) goto LAB_001281f8;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001281f8;" goto statement_identifier ;)) (expression_statement "psVar8 = pCursor[3].pVtab;" (assignment_expression "psVar8 = pCursor[3].pVtab" identifier = (field_expression "pCursor[3].pVtab" (subscript_expression "pCursor[3]" identifier [ number_literal ]) . field_identifier)) ;) })) (expression_statement "uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64);" (assignment_expression "uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64)" identifier = (call_expression "(*(code *)PTR_sqlite3_bind_value_0015b80c)(psVar8,1,psStack_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_value_0015b80c)" ( (pointer_expression "*(code *)PTR_sqlite3_bind_value_0015b80c" * (cast_expression "(code *)PTR_sqlite3_bind_value_0015b80c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar8,1,psStack_64)" ( identifier , number_literal , identifier )))) ;) (goto_statement "goto LAB_001281d8;" goto statement_identifier ;) })))) (labeled_statement "LAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);" statement_identifier : (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(pCursor)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d0 + 0x7a84))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6d0 + 0x7a84)" * (cast_expression "(code *)(PTR_LAB_0015b6d0 + 0x7a84)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d0 + 0x7a84)" ( (binary_expression "PTR_LAB_0015b6d0 + 0x7a84" identifier + number_literal) )))) )) (argument_list "(pCursor)" ( identifier )))) ;)) }) (else_clause "else {\n      idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);\n      if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }\n    }" else (compound_statement "{\n      idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);\n      if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }\n    }" { (expression_statement "idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64);" (assignment_expression "idxStr = (char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64)" identifier = (cast_expression "(char *)(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_value_text_0015b614)(psStack_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_text_0015b614)" ( (pointer_expression "*(code *)PTR_sqlite3_value_text_0015b614" * (cast_expression "(code *)PTR_sqlite3_value_text_0015b614" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psStack_64)" ( identifier ))))) ;) (if_statement "if (((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }" if (parenthesized_expression "(((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5))" ( (binary_expression "((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) &&\n         (iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)" (parenthesized_expression "((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0)" ( (binary_expression "(sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0" (cast_expression "(sqlite3_vtab *)idxStr" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5)" ( (comma_expression "iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), iVar6 != 5" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_type_0015b5f8)(psStack_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_type_0015b5f8)" ( (pointer_expression "*(code *)PTR_sqlite3_value_type_0015b5f8" * (cast_expression "(code *)PTR_sqlite3_value_type_0015b5f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psStack_64)" ( identifier )))) , (binary_expression "iVar6 != 5" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_00128540:\n        uVar10 = 7;\n      }" { (labeled_statement "LAB_00128540:\n        uVar10 = 7;" statement_identifier : (expression_statement "uVar10 = 7;" (assignment_expression "uVar10 = 7" identifier = number_literal) ;)) }) (else_clause "else {\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }" else (compound_statement "{\n        pCursor[5].pVtab = (sqlite3_vtab *)0x0;\n        if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }\n        sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;\n        aTC = (sqlite3_value *)(pCursor + 4);\n        sParse.azCol = (char **)psVar9[2].nRef;\n        psVar11 = (sqlite3_value *)&psVar9->zErrMsg;\n        sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;\n        ppOr = (sqlite3_value *)&sParse;\n        sParse.nCol = (int)psVar9[2].pModule;\n        sParse.isNot = 0;\n        sParse.pCtx = (sqlite3_context *)0x0;\n        sParse.nNest = 0;\n        sParse.iDefaultCol = uVar10 - 2;\n        if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }\n      }" { (expression_statement "pCursor[5].pVtab = (sqlite3_vtab *)0x0;" (assignment_expression "pCursor[5].pVtab = (sqlite3_vtab *)0x0" (field_expression "pCursor[5].pVtab" (subscript_expression "pCursor[5]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (psVar11 == (sqlite3_value *)0x0) {\n          sParse.iLangid = 0;\n        }\n        else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }" if (parenthesized_expression "(psVar11 == (sqlite3_value *)0x0)" ( (binary_expression "psVar11 == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          sParse.iLangid = 0;\n        }" { (expression_statement "sParse.iLangid = 0;" (assignment_expression "sParse.iLangid = 0" (field_expression "sParse.iLangid" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }" else (compound_statement "{\n          sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);\n          pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;\n        }" { (expression_statement "sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11);" (assignment_expression "sParse.iLangid = (*(code *)PTR_sqlite3_value_int_0015b734)(psVar11)" (field_expression "sParse.iLangid" identifier . field_identifier) = (call_expression "(*(code *)PTR_sqlite3_value_int_0015b734)(psVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int_0015b734)" ( (pointer_expression "*(code *)PTR_sqlite3_value_int_0015b734" * (cast_expression "(code *)PTR_sqlite3_value_int_0015b734" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar11)" ( identifier )))) ;) (expression_statement "pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid;" (assignment_expression "pCursor[5].pVtab = (sqlite3_vtab *)sParse.iLangid" (field_expression "pCursor[5].pVtab" (subscript_expression "pCursor[5]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)sParse.iLangid" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "sParse.iLangid" identifier . field_identifier))) ;) }))) (expression_statement "sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule;" (assignment_expression "sParse.pTokenizer = (sqlite3_tokenizer *)psVar9[3].pModule" (field_expression "sParse.pTokenizer" identifier . field_identifier) = (cast_expression "(sqlite3_tokenizer *)psVar9[3].pModule" ( (type_descriptor "sqlite3_tokenizer *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar9[3].pModule" (subscript_expression "psVar9[3]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "aTC = (sqlite3_value *)(pCursor + 4);" (assignment_expression "aTC = (sqlite3_value *)(pCursor + 4)" identifier = (cast_expression "(sqlite3_value *)(pCursor + 4)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pCursor + 4)" ( (binary_expression "pCursor + 4" identifier + number_literal) )))) ;) (expression_statement "sParse.azCol = (char **)psVar9[2].nRef;" (assignment_expression "sParse.azCol = (char **)psVar9[2].nRef" (field_expression "sParse.azCol" identifier . field_identifier) = (cast_expression "(char **)psVar9[2].nRef" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "psVar9[2].nRef" (subscript_expression "psVar9[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "psVar11 = (sqlite3_value *)&psVar9->zErrMsg;" (assignment_expression "psVar11 = (sqlite3_value *)&psVar9->zErrMsg" identifier = (cast_expression "(sqlite3_value *)&psVar9->zErrMsg" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar9->zErrMsg" & (field_expression "psVar9->zErrMsg" identifier -> field_identifier)))) ;) (expression_statement "sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef;" (assignment_expression "sParse.bFts4 = (int)*(byte *)&psVar9[0x13].nRef" (field_expression "sParse.bFts4" identifier . field_identifier) = (cast_expression "(int)*(byte *)&psVar9[0x13].nRef" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(byte *)&psVar9[0x13].nRef" * (cast_expression "(byte *)&psVar9[0x13].nRef" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar9[0x13].nRef" & (field_expression "psVar9[0x13].nRef" (subscript_expression "psVar9[0x13]" identifier [ number_literal ]) . field_identifier)))))) ;) (expression_statement "ppOr = (sqlite3_value *)&sParse;" (assignment_expression "ppOr = (sqlite3_value *)&sParse" identifier = (cast_expression "(sqlite3_value *)&sParse" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sParse" & identifier))) ;) (expression_statement "sParse.nCol = (int)psVar9[2].pModule;" (assignment_expression "sParse.nCol = (int)psVar9[2].pModule" (field_expression "sParse.nCol" identifier . field_identifier) = (cast_expression "(int)psVar9[2].pModule" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar9[2].pModule" (subscript_expression "psVar9[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "sParse.isNot = 0;" (assignment_expression "sParse.isNot = 0" (field_expression "sParse.isNot" identifier . field_identifier) = number_literal) ;) (expression_statement "sParse.pCtx = (sqlite3_context *)0x0;" (assignment_expression "sParse.pCtx = (sqlite3_context *)0x0" (field_expression "sParse.pCtx" identifier . field_identifier) = (cast_expression "(sqlite3_context *)0x0" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sParse.nNest = 0;" (assignment_expression "sParse.nNest = 0" (field_expression "sParse.nNest" identifier . field_identifier) = number_literal) ;) (expression_statement "sParse.iDefaultCol = uVar10 - 2;" (assignment_expression "sParse.iDefaultCol = uVar10 - 2" (field_expression "sParse.iDefaultCol" identifier . field_identifier) = (binary_expression "uVar10 - 2" identifier - number_literal)) ;) (if_statement "if ((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0) {\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }" if (parenthesized_expression "((sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0)" ( (binary_expression "(sqlite3_vtab *)idxStr == (sqlite3_vtab *)0x0" (cast_expression "(sqlite3_vtab *)idxStr" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n          pExpr = (Fts3Expr *)0x0;\nLAB_00128570:\n          idxStr = (char *)pCursor->pVtab;\n          rc = 0;\n          nToken = 0;\n          nOr = 0;\n          fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);\n          if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }\n          fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);\n          uVar10 = rc;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);\n          psVar9[0x14].zErrMsg = (char *)0x0;\n          if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }\n        }" { (expression_statement "pCursor[4].pVtab = (sqlite3_vtab *)0x0;" (assignment_expression "pCursor[4].pVtab = (sqlite3_vtab *)0x0" (field_expression "pCursor[4].pVtab" (subscript_expression "pCursor[4]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pExpr = (Fts3Expr *)0x0;" (assignment_expression "pExpr = (Fts3Expr *)0x0" identifier = (cast_expression "(Fts3Expr *)0x0" ( (type_descriptor "Fts3Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00128570:\n          idxStr = (char *)pCursor->pVtab;" statement_identifier : (expression_statement "idxStr = (char *)pCursor->pVtab;" (assignment_expression "idxStr = (char *)pCursor->pVtab" identifier = (cast_expression "(char *)pCursor->pVtab" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pCursor->pVtab" identifier -> field_identifier))) ;)) (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (expression_statement "nToken = 0;" (assignment_expression "nToken = 0" identifier = number_literal) ;) (expression_statement "nOr = 0;" (assignment_expression "nOr = 0" identifier = number_literal) ;) (expression_statement "fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc);" (call_expression "fts3EvalAllocateReaders((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc)" identifier (argument_list "((Fts3Cursor *)pCursor,pExpr,&nToken,&nOr,&rc)" ( (cast_expression "(Fts3Cursor *)pCursor" ( (type_descriptor "Fts3Cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (pointer_expression "&nToken" & identifier) , (pointer_expression "&nOr" & identifier) , (pointer_expression "&rc" & identifier) ))) ;) (if_statement "if (((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')) {\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }" if (parenthesized_expression "(((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0'))" ( (binary_expression "((rc == 0) && (1 < nToken)) &&\n             (*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')" (parenthesized_expression "((rc == 0) && (1 < nToken))" ( (binary_expression "(rc == 0) && (1 < nToken)" (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) && (parenthesized_expression "(1 < nToken)" ( (binary_expression "1 < nToken" number_literal < identifier) ))) )) && (parenthesized_expression "(*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0')" ( (binary_expression "*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef != '\0'" (pointer_expression "*(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef" * (cast_expression "(char *)&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef" & (field_expression "((sqlite3_vtab *)((int)idxStr + 0xe4))->nRef" (parenthesized_expression "((sqlite3_vtab *)((int)idxStr + 0xe4))" ( (cast_expression "(sqlite3_vtab *)((int)idxStr + 0xe4)" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)idxStr + 0xe4)" ( (binary_expression "(int)idxStr + 0xe4" (cast_expression "(int)idxStr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier)))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);\n            if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }\n          }" { (expression_statement "aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8);" (assignment_expression "aTC = (sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8)" identifier = (cast_expression "(sqlite3_value *)\n                  (*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_malloc64_0015b760)(0,(nToken * 3 + nOr) * 8)" (parenthesized_expression "(*(code *)PTR_sqlite3_malloc64_0015b760)" ( (pointer_expression "*(code *)PTR_sqlite3_malloc64_0015b760" * (cast_expression "(code *)PTR_sqlite3_malloc64_0015b760" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,(nToken * 3 + nOr) * 8)" ( number_literal , (binary_expression "(nToken * 3 + nOr) * 8" (parenthesized_expression "(nToken * 3 + nOr)" ( (binary_expression "nToken * 3 + nOr" (binary_expression "nToken * 3" identifier * number_literal) + identifier) )) * number_literal) ))))) ;) (if_statement "if (aTC == (sqlite3_value *)0x0) {\n              rc = 7;\n            }\n            else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }" if (parenthesized_expression "(aTC == (sqlite3_value *)0x0)" ( (binary_expression "aTC == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              rc = 7;\n            }" { (expression_statement "rc = 7;" (assignment_expression "rc = 7" identifier = number_literal) ;) }) (else_clause "else {\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }" else (compound_statement "{\n              idxStr = (char *)(&aTC->u + nToken * 3);\n              nParsed = (int)aTC;\n              sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;\n              fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);\n              nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;\n              nToken = (nParsed - (int)aTC >> 3) * -0x55555555;\n              if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(aTC);\n            }" { (expression_statement "idxStr = (char *)(&aTC->u + nToken * 3);" (assignment_expression "idxStr = (char *)(&aTC->u + nToken * 3)" identifier = (cast_expression "(char *)(&aTC->u + nToken * 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&aTC->u + nToken * 3)" ( (binary_expression "&aTC->u + nToken * 3" (pointer_expression "&aTC->u" & (field_expression "aTC->u" identifier -> field_identifier)) + (binary_expression "nToken * 3" identifier * number_literal)) )))) ;) (expression_statement "nParsed = (int)aTC;" (assignment_expression "nParsed = (int)aTC" identifier = (cast_expression "(int)aTC" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "sParse.pTokenizer = (sqlite3_tokenizer *)idxStr;" (assignment_expression "sParse.pTokenizer = (sqlite3_tokenizer *)idxStr" (field_expression "sParse.pTokenizer" identifier . field_identifier) = (cast_expression "(sqlite3_tokenizer *)idxStr" ( (type_descriptor "sqlite3_tokenizer *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc);" (call_expression "fts3EvalTokenCosts((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc)" identifier (argument_list "((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3Expr *)pCursor[4].pVtab,\n                                 (Fts3TokenAndCost **)&nParsed,(Fts3Expr ***)ppOr,&rc)" ( (cast_expression "(Fts3Cursor *)pCursor" ( (type_descriptor "Fts3Cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Fts3Expr *)0x0" ( (type_descriptor "Fts3Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(Fts3Expr *)pCursor[4].pVtab" ( (type_descriptor "Fts3Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCursor[4].pVtab" (subscript_expression "pCursor[4]" identifier [ number_literal ]) . field_identifier)) , (cast_expression "(Fts3TokenAndCost **)&nParsed" ( (type_descriptor "Fts3TokenAndCost **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&nParsed" & identifier)) , (cast_expression "(Fts3Expr ***)ppOr" ( (type_descriptor "Fts3Expr ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier) , (pointer_expression "&rc" & identifier) ))) ;) (expression_statement "nOr = (int)sParse.pTokenizer - (int)idxStr >> 2;" (assignment_expression "nOr = (int)sParse.pTokenizer - (int)idxStr >> 2" identifier = (binary_expression "(int)sParse.pTokenizer - (int)idxStr >> 2" (binary_expression "(int)sParse.pTokenizer - (int)idxStr" (cast_expression "(int)sParse.pTokenizer" ( (type_descriptor "int" primitive_type) ) (field_expression "sParse.pTokenizer" identifier . field_identifier)) - (cast_expression "(int)idxStr" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "nToken = (nParsed - (int)aTC >> 3) * -0x55555555;" (assignment_expression "nToken = (nParsed - (int)aTC >> 3) * -0x55555555" identifier = (binary_expression "(nParsed - (int)aTC >> 3) * -0x55555555" (parenthesized_expression "(nParsed - (int)aTC >> 3)" ( (binary_expression "nParsed - (int)aTC >> 3" (binary_expression "nParsed - (int)aTC" identifier - (cast_expression "(int)aTC" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (if_statement "if (rc == 0) {\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (compound_statement "{\n                ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);\n                rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );\n                psVar11 = (sqlite3_value *)rc;\n                if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }\n              }" { (expression_statement "ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750);" (assignment_expression "ppOr = (sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750)" identifier = (cast_expression "(sqlite3_value *)(PTR_LAB_0015b6d4 + 0x5750)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d4 + 0x5750)" ( (binary_expression "PTR_LAB_0015b6d4 + 0x5750" identifier + number_literal) )))) ;) (expression_statement "rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               );" (assignment_expression "rc = fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               )" identifier = (call_expression "fts3EvalSelectDeferred\n                               ((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               )" identifier (argument_list "((Fts3Cursor *)pCursor,(Fts3Expr *)0x0,(Fts3TokenAndCost *)aTC,nToken\n                               )" ( (cast_expression "(Fts3Cursor *)pCursor" ( (type_descriptor "Fts3Cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Fts3Expr *)0x0" ( (type_descriptor "Fts3Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(Fts3TokenAndCost *)aTC" ( (type_descriptor "Fts3TokenAndCost *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "psVar11 = (sqlite3_value *)rc;" (assignment_expression "psVar11 = (sqlite3_value *)rc" identifier = (cast_expression "(sqlite3_value *)rc" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)) {\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }" if (parenthesized_expression "(((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr))" ( (binary_expression "((sqlite3_value *)rc == (sqlite3_value *)0x0) &&\n                   (psVar12 = (sqlite3_value *)0x0, 0 < nOr)" (parenthesized_expression "((sqlite3_value *)rc == (sqlite3_value *)0x0)" ( (binary_expression "(sqlite3_value *)rc == (sqlite3_value *)0x0" (cast_expression "(sqlite3_value *)rc" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar12 = (sqlite3_value *)0x0, 0 < nOr)" ( (comma_expression "psVar12 = (sqlite3_value *)0x0, 0 < nOr" (assignment_expression "psVar12 = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "0 < nOr" number_literal < identifier)) ))) )) (compound_statement "{\n                  do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);\n                }" { (do_statement "do {\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  } while ((int)psVar12 < nOr);" do (compound_statement "{\n                    rc = 0;\n                    psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);\n                    rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);\n                    psVar11 = psVar12;\n                    if (rc != 0) break;\n                    idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;\n                  }" { (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (expression_statement "psVar12 = (sqlite3_value *)((int)&psVar12->u + 1);" (assignment_expression "psVar12 = (sqlite3_value *)((int)&psVar12->u + 1)" identifier = (cast_expression "(sqlite3_value *)((int)&psVar12->u + 1)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar12->u + 1)" ( (binary_expression "(int)&psVar12->u + 1" (cast_expression "(int)&psVar12->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar12->u" & (field_expression "psVar12->u" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken);" (assignment_expression "rc = fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken)" identifier = (call_expression "fts3EvalSelectDeferred\n                                   ((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken)" identifier (argument_list "((Fts3Cursor *)pCursor,\n                                    (Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule,\n                                    (Fts3TokenAndCost *)aTC,nToken)" ( (cast_expression "(Fts3Cursor *)pCursor" ( (type_descriptor "Fts3Cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Fts3Expr *)((sqlite3_vtab *)idxStr)->pModule" ( (type_descriptor "Fts3Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((sqlite3_vtab *)idxStr)->pModule" (parenthesized_expression "((sqlite3_vtab *)idxStr)" ( (cast_expression "(sqlite3_vtab *)idxStr" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) , (cast_expression "(Fts3TokenAndCost *)aTC" ( (type_descriptor "Fts3TokenAndCost *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "psVar11 = psVar12;" (assignment_expression "psVar11 = psVar12" identifier = identifier) ;) (if_statement "if (rc != 0) break;" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef;" (assignment_expression "idxStr = (char *)&((sqlite3_vtab *)idxStr)->nRef" identifier = (cast_expression "(char *)&((sqlite3_vtab *)idxStr)->nRef" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((sqlite3_vtab *)idxStr)->nRef" & (field_expression "((sqlite3_vtab *)idxStr)->nRef" (parenthesized_expression "((sqlite3_vtab *)idxStr)" ( (cast_expression "(sqlite3_vtab *)idxStr" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) ;) }) while (parenthesized_expression "((int)psVar12 < nOr)" ( (binary_expression "(int)psVar12 < nOr" (cast_expression "(int)psVar12" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) })) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(aTC);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(aTC)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(aTC)" ( identifier ))) ;) }))) })) (expression_statement "fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc);" (call_expression "fts3EvalStartReaders((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc)" identifier (argument_list "((Fts3Cursor *)pCursor,(Fts3Expr *)pCursor[4].pVtab,&rc)" ( (cast_expression "(Fts3Cursor *)pCursor" ( (type_descriptor "Fts3Cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Fts3Expr *)pCursor[4].pVtab" ( (type_descriptor "Fts3Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCursor[4].pVtab" (subscript_expression "pCursor[4]" identifier [ number_literal ]) . field_identifier)) , (pointer_expression "&rc" & identifier) ))) ;) (expression_statement "uVar10 = rc;" (assignment_expression "uVar10 = rc" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);" (call_expression "(*(code *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg)" (parenthesized_expression "(*(code *)PTR_sqlite3_blob_close_0015b868)" ( (pointer_expression "*(code *)PTR_sqlite3_blob_close_0015b868" * (cast_expression "(code *)PTR_sqlite3_blob_close_0015b868" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar9[0x14].zErrMsg)" ( (field_expression "psVar9[0x14].zErrMsg" (subscript_expression "psVar9[0x14]" identifier [ number_literal ]) . field_identifier) ))) ;) (expression_statement "psVar9[0x14].zErrMsg = (char *)0x0;" (assignment_expression "psVar9[0x14].zErrMsg = (char *)0x0" (field_expression "psVar9[0x14].zErrMsg" (subscript_expression "psVar9[0x14]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar10 == 0) {\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            pCursor[9].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[8].pVtab = (sqlite3_vtab *)0x0;\n            pCursor[10].pVtab = pCursor[0xb].pVtab;\n            goto LAB_001281e4;\n          }" { (expression_statement "pCursor[9].pVtab = (sqlite3_vtab *)0x0;" (assignment_expression "pCursor[9].pVtab = (sqlite3_vtab *)0x0" (field_expression "pCursor[9].pVtab" (subscript_expression "pCursor[9]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCursor[8].pVtab = (sqlite3_vtab *)0x0;" (assignment_expression "pCursor[8].pVtab = (sqlite3_vtab *)0x0" (field_expression "pCursor[8].pVtab" (subscript_expression "pCursor[8]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCursor[10].pVtab = pCursor[0xb].pVtab;" (assignment_expression "pCursor[10].pVtab = pCursor[0xb].pVtab" (field_expression "pCursor[10].pVtab" (subscript_expression "pCursor[10]" identifier [ number_literal ]) . field_identifier) = (field_expression "pCursor[0xb].pVtab" (subscript_expression "pCursor[0xb]" identifier [ number_literal ]) . field_identifier)) ;) (goto_statement "goto LAB_001281e4;" goto statement_identifier ;) })) }) (else_clause "else {\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }" else (compound_statement "{\n          uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);\n          if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);\n        }" { (expression_statement "uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0015b9c4)(idxStr)" identifier = (call_expression "(*(code *)PTR_strlen_0015b9c4)(idxStr)" (parenthesized_expression "(*(code *)PTR_strlen_0015b9c4)" ( (pointer_expression "*(code *)PTR_strlen_0015b9c4" * (cast_expression "(code *)PTR_strlen_0015b9c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(idxStr)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppOr,idxStr,uVar7,aTC,&nParsed)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4124))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x4124)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x4124)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x4124)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x4124" identifier + number_literal) )))) )) (argument_list "(ppOr,idxStr,uVar7,aTC,&nParsed)" ( identifier , identifier , identifier , identifier , (pointer_expression "&nParsed" & identifier) )))) ;) (if_statement "if (uVar10 == 0) {\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }\n          else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            pExpr = (Fts3Expr *)pCursor[4].pVtab;\n            if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\nLAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;\n            psVar8 = (sqlite3_vtab *)idxStr;\n          }" { (expression_statement "pExpr = (Fts3Expr *)pCursor[4].pVtab;" (assignment_expression "pExpr = (Fts3Expr *)pCursor[4].pVtab" identifier = (cast_expression "(Fts3Expr *)pCursor[4].pVtab" ( (type_descriptor "Fts3Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCursor[4].pVtab" (subscript_expression "pCursor[4]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (sParse.nNest == 0) {\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }" if (parenthesized_expression "(sParse.nNest == 0)" ( (binary_expression "sParse.nNest == 0" (field_expression "sParse.nNest" identifier . field_identifier) == number_literal) )) (compound_statement "{\n              if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }" { (if_statement "if (pExpr != (Fts3Expr *)0x0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }" if (parenthesized_expression "(pExpr != (Fts3Expr *)0x0)" ( (binary_expression "pExpr != (Fts3Expr *)0x0" identifier != (cast_expression "(Fts3Expr *)0x0" ( (type_descriptor "Fts3Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                psVar8 = pCursor[4].pVtab;\n                uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);\n                uVar10 = (uint)((ulonglong)uVar13 >> 0x20);\n                pExpr = (Fts3Expr *)uVar13;\n                if (uVar10 != 0) goto LAB_00128450;\n              }" { (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(aTC,0xc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4f20))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x4f20)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x4f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x4f20)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x4f20" identifier + number_literal) )))) )) (argument_list "(aTC,0xc)" ( identifier , number_literal )))) ;) (if_statement "if (uVar10 != 0) goto LAB_0012844c;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012844c;" goto statement_identifier ;)) (expression_statement "psVar8 = pCursor[4].pVtab;" (assignment_expression "psVar8 = pCursor[4].pVtab" identifier = (field_expression "pCursor[4].pVtab" (subscript_expression "pCursor[4]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc);" (assignment_expression "uVar13 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x24b4))(psVar8,0xc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x24b4))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x24b4)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x24b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x24b4)" ( (binary_expression "PTR_LAB_0015b65c + 0x24b4" identifier + number_literal) )))) )) (argument_list "(psVar8,0xc)" ( identifier , number_literal )))) ;) (expression_statement "uVar10 = (uint)((ulonglong)uVar13 >> 0x20);" (assignment_expression "uVar10 = (uint)((ulonglong)uVar13 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar13 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pExpr = (Fts3Expr *)uVar13;" (assignment_expression "pExpr = (Fts3Expr *)uVar13" identifier = (cast_expression "(Fts3Expr *)uVar13" ( (type_descriptor "Fts3Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar10 != 0) goto LAB_00128450;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00128450;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00128570;" goto statement_identifier ;) })) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(pExpr)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x3f2c)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x3f2c" identifier + number_literal) )))) )) (argument_list "(pExpr)" ( identifier ))) ;) (expression_statement "pCursor[4].pVtab = (sqlite3_vtab *)0x0;" (assignment_expression "pCursor[4].pVtab = (sqlite3_vtab *)0x0" (field_expression "pCursor[4].pVtab" (subscript_expression "pCursor[4]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0012841c:\n            puVar5 = PTR_DAT_0015b5fc + -0x2490;" statement_identifier : (expression_statement "puVar5 = PTR_DAT_0015b5fc + -0x2490;" (assignment_expression "puVar5 = PTR_DAT_0015b5fc + -0x2490" identifier = (binary_expression "PTR_DAT_0015b5fc + -0x2490" identifier + number_literal)) ;)) (expression_statement "psVar8 = (sqlite3_vtab *)idxStr;" (assignment_expression "psVar8 = (sqlite3_vtab *)idxStr" identifier = (cast_expression "(sqlite3_vtab *)idxStr" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }" else (compound_statement "{\nLAB_0012844c:\n            psVar8 = pCursor[4].pVtab;\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);\n            pCursor[4].pVtab = (sqlite3_vtab *)0x0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            psVar8 = (sqlite3_vtab *)&DAT_0000000c;\n            puVar5 = PTR_DAT_0015b5fc + -0x24c4;\n          }" { (labeled_statement "LAB_0012844c:\n            psVar8 = pCursor[4].pVtab;" statement_identifier : (expression_statement "psVar8 = pCursor[4].pVtab;" (assignment_expression "psVar8 = pCursor[4].pVtab" identifier = (field_expression "pCursor[4].pVtab" (subscript_expression "pCursor[4]" identifier [ number_literal ]) . field_identifier)) ;)) (labeled_statement "LAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(psVar8)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x3f2c)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x3f2c" identifier + number_literal) )))) )) (argument_list "(psVar8)" ( identifier ))) ;)) (expression_statement "pCursor[4].pVtab = (sqlite3_vtab *)0x0;" (assignment_expression "pCursor[4].pVtab = (sqlite3_vtab *)0x0" (field_expression "pCursor[4].pVtab" (subscript_expression "pCursor[4]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }" if (parenthesized_expression "(uVar10 != 0x12)" ( (binary_expression "uVar10 != 0x12" identifier != number_literal) )) (compound_statement "{\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }" { (if_statement "if (uVar10 != 1) goto LAB_001281f8;" if (parenthesized_expression "(uVar10 != 1)" ( (binary_expression "uVar10 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001281f8;" goto statement_identifier ;)) (goto_statement "goto LAB_0012841c;" goto statement_identifier ;) })) (expression_statement "psVar8 = (sqlite3_vtab *)&DAT_0000000c;" (assignment_expression "psVar8 = (sqlite3_vtab *)&DAT_0000000c" identifier = (cast_expression "(sqlite3_vtab *)&DAT_0000000c" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (expression_statement "puVar5 = PTR_DAT_0015b5fc + -0x24c4;" (assignment_expression "puVar5 = PTR_DAT_0015b5fc + -0x24c4" identifier = (binary_expression "PTR_DAT_0015b5fc + -0x24c4" identifier + number_literal)) ;) }))) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (expression_statement "(*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8);" (call_expression "(*(code *)(PTR_LAB_0015b71c + 0x2618))(psVar11,puVar5,psVar8)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b71c + 0x2618))" ( (pointer_expression "*(code *)(PTR_LAB_0015b71c + 0x2618)" * (cast_expression "(code *)(PTR_LAB_0015b71c + 0x2618)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b71c + 0x2618)" ( (binary_expression "PTR_LAB_0015b71c + 0x2618" identifier + number_literal) )))) )) (argument_list "(psVar11,puVar5,psVar8)" ( identifier , identifier , identifier ))) ;) }))) }))) }))) (labeled_statement "LAB_001281f8:\n    if (iVar3 == *(int *)puVar2) {\n      return uVar10;\n    }" statement_identifier : (if_statement "if (iVar3 == *(int *)puVar2) {\n      return uVar10;\n    }" if (parenthesized_expression "(iVar3 == *(int *)puVar2)" ( (binary_expression "iVar3 == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return uVar10;\n    }" { (return_statement "return uVar10;" return identifier ;) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00128814:\n    uVar13 = 0x8000000000000000;" statement_identifier : (expression_statement "uVar13 = 0x8000000000000000;" (assignment_expression "uVar13 = 0x8000000000000000" identifier = number_literal) ;)) (labeled_statement "LAB_001282e8:\n    *(undefined8 *)(pCursor + 0x12) = uVar13;" statement_identifier : (expression_statement "*(undefined8 *)(pCursor + 0x12) = uVar13;" (assignment_expression "*(undefined8 *)(pCursor + 0x12) = uVar13" (pointer_expression "*(undefined8 *)(pCursor + 0x12)" * (cast_expression "(undefined8 *)(pCursor + 0x12)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pCursor + 0x12)" ( (binary_expression "pCursor + 0x12" identifier + number_literal) )))) = identifier) ;)) (if_statement "if (ppOr == (sqlite3_value *)0x0) {\n      uVar13 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);\n      uVar13 = 0x7fffffffffffffff;\n      if (iVar6 == 1) {\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }\n    }" if (parenthesized_expression "(ppOr == (sqlite3_value *)0x0)" ( (binary_expression "ppOr == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar13 = 0x7fffffffffffffff;\n    }" { (expression_statement "uVar13 = 0x7fffffffffffffff;" (assignment_expression "uVar13 = 0x7fffffffffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);\n      uVar13 = 0x7fffffffffffffff;\n      if (iVar6 == 1) {\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }\n    }" else (compound_statement "{\n      iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);\n      uVar13 = 0x7fffffffffffffff;\n      if (iVar6 == 1) {\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }\n    }" { (expression_statement "iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr);" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppOr)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" ( (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" * (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppOr)" ( identifier )))) ;) (expression_statement "uVar13 = 0x7fffffffffffffff;" (assignment_expression "uVar13 = 0x7fffffffffffffff" identifier = number_literal) ;) (if_statement "if (iVar6 == 1) {\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }" if (parenthesized_expression "(iVar6 == 1)" ( (binary_expression "iVar6 == 1" identifier == number_literal) )) (compound_statement "{\n        uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);\n      }" { (expression_statement "uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr);" (assignment_expression "uVar13 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)(ppOr)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)" ( (pointer_expression "*(code *)PTR_sqlite3_value_int64_0015b608" * (cast_expression "(code *)PTR_sqlite3_value_int64_0015b608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppOr)" ( identifier )))) ;) })) }))) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "uint FUN_00128050(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  uint uVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int **ppiVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  undefined4 local_64;\n  uint local_60;\n  int local_5c;\n  int local_58;\n  int *local_54;\n  int *local_50;\n  int local_4c;\n  undefined4 local_48;\n  uint local_44;\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = param_2 & 0xffff;\n  iVar9 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }\n  uVar3 = (uint)(uVar10 != 0);\n  if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  param_1[0x13] = 0;\n  piVar11 = (int *)0x0;\n  param_1[0x12] = -0x80000000;\n  ppiVar12 = (int **)0x0;\n  uVar14 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );\n}\n\n" (function_definition "uint FUN_00128050(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  uint uVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int **ppiVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  undefined4 local_64;\n  uint local_60;\n  int local_5c;\n  int local_58;\n  int *local_54;\n  int *local_50;\n  int local_4c;\n  undefined4 local_48;\n  uint local_44;\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = param_2 & 0xffff;\n  iVar9 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }\n  uVar3 = (uint)(uVar10 != 0);\n  if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  param_1[0x13] = 0;\n  piVar11 = (int *)0x0;\n  param_1[0x12] = -0x80000000;\n  ppiVar12 = (int **)0x0;\n  uVar14 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );\n}" type_identifier (function_declarator "FUN_00128050(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)" identifier (parameter_list "(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  uint uVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int **ppiVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  undefined4 local_64;\n  uint local_60;\n  int local_5c;\n  int local_58;\n  int *local_54;\n  int *local_50;\n  int local_4c;\n  undefined4 local_48;\n  uint local_44;\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = param_2 & 0xffff;\n  iVar9 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }\n  uVar3 = (uint)(uVar10 != 0);\n  if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  param_1[0x13] = 0;\n  piVar11 = (int *)0x0;\n  param_1[0x12] = -0x80000000;\n  ppiVar12 = (int **)0x0;\n  uVar14 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int **ppiVar12;" primitive_type (pointer_declarator "**ppiVar12" * (pointer_declarator "*ppiVar12" * identifier)) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "int *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "uVar10 = param_2 & 0xffff;" (assignment_expression "uVar10 = param_2 & 0xffff" identifier = (binary_expression "param_2 & 0xffff" identifier & number_literal)) ;) (expression_statement "iVar9 = *param_1;" (assignment_expression "iVar9 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n    local_64 = 0;\n  }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_64 = *param_5;\n  }" else (compound_statement "{\n    local_64 = *param_5;\n  }" { (expression_statement "local_64 = *param_5;" (assignment_expression "local_64 = *param_5" identifier = (pointer_expression "*param_5" * identifier)) ;) }))) (expression_statement "uVar3 = (uint)(uVar10 != 0);" (assignment_expression "uVar3 = (uint)(uVar10 != 0)" identifier = (call_expression "(uint)(uVar10 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )))) ;) (if_statement "if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" if (parenthesized_expression "((int)(param_2 << 0xf) < 0)" ( (binary_expression "(int)(param_2 << 0xf) < 0" (cast_expression "(int)(param_2 << 0xf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 0xf)" ( (binary_expression "param_2 << 0xf" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }" { (expression_statement "uVar13 = param_5[uVar3];" (assignment_expression "uVar13 = param_5[uVar3]" identifier = (subscript_expression "param_5[uVar3]" identifier [ identifier ])) ;) (expression_statement "uVar3 = uVar3 + 1;" (assignment_expression "uVar3 = uVar3 + 1" identifier = (binary_expression "uVar3 + 1" identifier + number_literal)) ;) (if_statement "if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;" if (parenthesized_expression "((int)(param_2 << 0xe) < 0)" ( (binary_expression "(int)(param_2 << 0xe) < 0" (cast_expression "(int)(param_2 << 0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 0xe)" ( (binary_expression "param_2 << 0xe" identifier << number_literal) ))) < number_literal) )) (goto_statement "goto LAB_00128240;" goto statement_identifier ;)) (labeled_statement "LAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" statement_identifier : (if_statement "if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" if (parenthesized_expression "((int)(param_2 << 0xd) < 0)" ( (binary_expression "(int)(param_2 << 0xd) < 0" (cast_expression "(int)(param_2 << 0xd)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 0xd)" ( (binary_expression "param_2 << 0xd" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" { (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppiVar12 = (int **)param_5[uVar3];" (assignment_expression "ppiVar12 = (int **)param_5[uVar3]" identifier = (cast_expression "(int **)param_5[uVar3]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_5[uVar3]" identifier [ identifier ]))) ;) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "uVar14 = 0x8000000000000000;" (assignment_expression "uVar14 = 0x8000000000000000" identifier = number_literal) ;) (goto_statement "goto LAB_001282e8;" goto statement_identifier ;) }))) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) }) (else_clause "else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" else (compound_statement "{\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;" if (parenthesized_expression "(-1 < (int)(param_2 << 0xe))" ( (binary_expression "-1 < (int)(param_2 << 0xe)" number_literal < (cast_expression "(int)(param_2 << 0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 0xe)" ( (binary_expression "param_2 << 0xe" identifier << number_literal) )))) )) (goto_statement "goto LAB_001280e8;" goto statement_identifier ;)) (labeled_statement "LAB_00128240:\n    piVar11 = (int *)param_5[uVar3];" statement_identifier : (expression_statement "piVar11 = (int *)param_5[uVar3];" (assignment_expression "piVar11 = (int *)param_5[uVar3]" identifier = (cast_expression "(int *)param_5[uVar3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_5[uVar3]" identifier [ identifier ]))) ;)) (if_statement "if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }" if (parenthesized_expression "((int)(param_2 << 0xd) < 0)" ( (binary_expression "(int)(param_2 << 0xd) < 0" (cast_expression "(int)(param_2 << 0xd)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 0xd)" ( (binary_expression "param_2 << 0xd" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }" { (expression_statement "ppiVar12 = (int **)param_5[uVar3 + 1];" (assignment_expression "ppiVar12 = (int **)param_5[uVar3 + 1]" identifier = (cast_expression "(int **)param_5[uVar3 + 1]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_5[uVar3 + 1]" identifier [ (binary_expression "uVar3 + 1" identifier + number_literal) ]))) ;) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_00128814;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00128814;" goto statement_identifier ;)) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" ( (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" * (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier )))) ;) (expression_statement "uVar14 = 0x8000000000000000;" (assignment_expression "uVar14 = 0x8000000000000000" identifier = number_literal) ;) (if_statement "if (iVar5 != 1) goto LAB_001282e8;" if (parenthesized_expression "(iVar5 != 1)" ( (binary_expression "iVar5 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001282e8;" goto statement_identifier ;)) (labeled_statement "LAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);" statement_identifier : (expression_statement "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);" (assignment_expression "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)" ( (pointer_expression "*(code *)PTR_sqlite3_value_int64_0015b608" * (cast_expression "(code *)PTR_sqlite3_value_int64_0015b608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier )))) ;)) (goto_statement "goto LAB_001282e8;" goto statement_identifier ;) })) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }" { (expression_statement "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" ( (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" * (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier )))) ;) (if_statement "if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }" { (expression_statement "ppiVar12 = (int **)0x0;" (assignment_expression "ppiVar12 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (goto_statement "goto LAB_0012829c;" goto statement_identifier ;) })) (expression_statement "param_1[0x13] = 0;" (assignment_expression "param_1[0x13] = 0" (subscript_expression "param_1[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ppiVar12 = (int **)0x0;" (assignment_expression "ppiVar12 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "param_1[0x12] = -0x80000000;" (assignment_expression "param_1[0x12] = -0x80000000" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00128128;" goto statement_identifier ;) })) }))) (expression_statement "param_1[0x13] = 0;" (assignment_expression "param_1[0x13] = 0" (subscript_expression "param_1[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1[0x12] = -0x80000000;" (assignment_expression "param_1[0x12] = -0x80000000" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ppiVar12 = (int **)0x0;" (assignment_expression "ppiVar12 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" identifier = number_literal) ;) (labeled_statement "LAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );" do (compound_statement "{\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  }" { (expression_statement "*(undefined8 *)(param_1 + 0x14) = uVar14;" (assignment_expression "*(undefined8 *)(param_1 + 0x14) = uVar14" (pointer_expression "*(undefined8 *)(param_1 + 0x14)" * (cast_expression "(undefined8 *)(param_1 + 0x14)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }" if (parenthesized_expression "(param_3 == (int *)0x0)" ( (binary_expression "param_3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }" { (expression_statement "cVar1 = *(char *)(iVar9 + 0xeb);" (assignment_expression "cVar1 = *(char *)(iVar9 + 0xeb)" identifier = (pointer_expression "*(char *)(iVar9 + 0xeb)" * (cast_expression "(char *)(iVar9 + 0xeb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xeb)" ( (binary_expression "iVar9 + 0xeb" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      cVar1 = *(char *)param_3 == 'D';\n    }" else (compound_statement "{\n      cVar1 = *(char *)param_3 == 'D';\n    }" { (expression_statement "cVar1 = *(char *)param_3 == 'D';" (assignment_expression "cVar1 = *(char *)param_3 == 'D'" identifier = (binary_expression "*(char *)param_3 == 'D'" (pointer_expression "*(char *)param_3" * (cast_expression "(char *)param_3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'D'" ' character '))) ;) }))) (expression_statement "*(char *)(param_1 + 0xd) = cVar1;" (assignment_expression "*(char *)(param_1 + 0xd) = cVar1" (pointer_expression "*(char *)(param_1 + 0xd)" * (cast_expression "(char *)(param_1 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd)" ( (binary_expression "param_1 + 0xd" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(short *)(param_1 + 1) = (short)param_2;" (assignment_expression "*(short *)(param_1 + 1) = (short)param_2" (pointer_expression "*(short *)(param_1 + 1)" * (cast_expression "(short *)(param_1 + 1)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) )))) = (cast_expression "(short)param_2" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (if_statement "if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }" if (parenthesized_expression "((param_2 & 0xfffe) == 0)" ( (binary_expression "(param_2 & 0xfffe) == 0" (parenthesized_expression "(param_2 & 0xfffe)" ( (binary_expression "param_2 & 0xfffe" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }" { (if_statement "if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }" { (if_statement "if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }" if (parenthesized_expression "((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0))" ( (binary_expression "(piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)" (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(ppiVar12 == (int **)0x0)" ( (binary_expression "ppiVar12 == (int **)0x0" identifier == (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }" { (if_statement "if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }" { (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x48b4;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x48b4" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x48b4" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" else (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" { (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x51b0;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x51b0" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x51b0" identifier + number_literal)) ;) }))) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4)" identifier = (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4)" ( (binary_expression "PTR_UINT_0015b5fc + -0x242c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar9 + 0xdc)" * (cast_expression "(undefined4 *)(iVar9 + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) )))) , identifier )))) ;) }) (else_clause "else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }" else (compound_statement "{\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }" { (if_statement "if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }" { (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x48b4;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x48b4" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x48b4" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" else (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" { (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x51b0;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x51b0" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x51b0" identifier + number_literal)) ;) }))) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4)" identifier = (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4)" ( (binary_expression "PTR_UINT_0015b5fc + -0x246c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar9 + 0xdc)" * (cast_expression "(undefined4 *)(iVar9 + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) )))) , (subscript_expression "param_1[0x12]" identifier [ number_literal ]) , (subscript_expression "param_1[0x13]" identifier [ number_literal ]) , identifier , identifier )))) ;) }))) (if_statement "if (iVar5 == 0) goto LAB_00128540;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00128540;" goto statement_identifier ;)) (expression_statement "uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);" (assignment_expression "uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0)" identifier = (call_expression "(*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0)" (parenthesized_expression "(*(code *)PTR_sqlite3_prepare_v3_0015b8a0)" ( (pointer_expression "*(code *)PTR_sqlite3_prepare_v3_0015b8a0" * (cast_expression "(code *)PTR_sqlite3_prepare_v3_0015b8a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0xc)" * (cast_expression "(undefined4 *)(iVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) , identifier , number_literal , number_literal , (binary_expression "param_1 + 3" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(iVar5);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(iVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier ))) ;) (labeled_statement "LAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;" statement_identifier : (if_statement "if (uVar10 != 0) goto LAB_001281f8;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001281f8;" goto statement_identifier ;))) }) (else_clause "else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" else (if_statement "if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" if (parenthesized_expression "(uVar10 == 1)" ( (binary_expression "uVar10 == 1" identifier == number_literal) )) (compound_statement "{\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" { (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (if_statement "if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }" { (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6d0 + -0x7e8c)" * (cast_expression "(code *)(PTR_LAB_0015b6d0 + -0x7e8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d0 + -0x7e8c)" ( (binary_expression "PTR_LAB_0015b6d0 + -0x7e8c" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (uVar10 != 0) goto LAB_001281f8;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001281f8;" goto statement_identifier ;)) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) })) (expression_statement "uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);" (assignment_expression "uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64)" identifier = (call_expression "(*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_value_0015b80c)" ( (pointer_expression "*(code *)PTR_sqlite3_bind_value_0015b80c" * (cast_expression "(code *)PTR_sqlite3_bind_value_0015b80c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5,1,local_64)" ( identifier , number_literal , identifier )))) ;) (goto_statement "goto LAB_001281d8;" goto statement_identifier ;) })))) (labeled_statement "LAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);" statement_identifier : (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d0 + 0x7a84))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6d0 + 0x7a84)" * (cast_expression "(code *)(PTR_LAB_0015b6d0 + 0x7a84)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6d0 + 0x7a84)" ( (binary_expression "PTR_LAB_0015b6d0 + 0x7a84" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier )))) ;)) }) (else_clause "else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }" else (compound_statement "{\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }" { (expression_statement "param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);" (assignment_expression "param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_value_text_0015b614)(local_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_text_0015b614)" ( (pointer_expression "*(code *)PTR_sqlite3_value_text_0015b614" * (cast_expression "(code *)PTR_sqlite3_value_text_0015b614" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_64)" ( identifier ))))) ;) (if_statement "if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }" if (parenthesized_expression "((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5))" ( (binary_expression "(param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)" (parenthesized_expression "(param_3 == (int *)0x0)" ( (binary_expression "param_3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)" ( (comma_expression "iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_type_0015b5f8)" ( (pointer_expression "*(code *)PTR_sqlite3_value_type_0015b5f8" * (cast_expression "(code *)PTR_sqlite3_value_type_0015b5f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_64)" ( identifier )))) , (binary_expression "iVar5 != 5" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_00128540:\n        uVar10 = 7;\n      }" { (labeled_statement "LAB_00128540:\n        uVar10 = 7;" statement_identifier : (expression_statement "uVar10 = 7;" (assignment_expression "uVar10 = 7" identifier = number_literal) ;)) }) (else_clause "else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }" else (compound_statement "{\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }" { (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n          local_4c = 0;\n        }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) }) (else_clause "else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }" else (compound_statement "{\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }" { (expression_statement "local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);" (assignment_expression "local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_int_0015b734)(uVar13)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int_0015b734)" ( (pointer_expression "*(code *)PTR_sqlite3_value_int_0015b734" * (cast_expression "(code *)PTR_sqlite3_value_int_0015b734" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar13)" ( identifier )))) ;) (expression_statement "param_1[5] = local_4c;" (assignment_expression "param_1[5] = local_4c" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "local_50 = *(int **)(iVar9 + 0x24);" (assignment_expression "local_50 = *(int **)(iVar9 + 0x24)" identifier = (pointer_expression "*(int **)(iVar9 + 0x24)" * (cast_expression "(int **)(iVar9 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = param_1 + 4;" (assignment_expression "piVar11 = param_1 + 4" identifier = (binary_expression "param_1 + 4" identifier + number_literal)) ;) (expression_statement "local_48 = *(undefined4 *)(iVar9 + 0x1c);" (assignment_expression "local_48 = *(undefined4 *)(iVar9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x1c)" * (cast_expression "(undefined4 *)(iVar9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = iVar9 + 8;" (assignment_expression "uVar13 = iVar9 + 8" identifier = (binary_expression "iVar9 + 8" identifier + number_literal)) ;) (expression_statement "local_44 = (uint)*(byte *)(iVar9 + 0xe8);" (assignment_expression "local_44 = (uint)*(byte *)(iVar9 + 0xe8)" identifier = (binary_expression "(uint)*(byte *)(iVar9 + 0xe8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar9 + 0xe8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xe8)" ( (binary_expression "iVar9 + 0xe8" identifier + number_literal) ))))) ;) (expression_statement "ppiVar12 = &local_50;" (assignment_expression "ppiVar12 = &local_50" identifier = (pointer_expression "&local_50" & identifier)) ;) (expression_statement "local_40 = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "local_40 = *(undefined4 *)(iVar9 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_3c = uVar10 - 2;" (assignment_expression "local_3c = uVar10 - 2" identifier = (binary_expression "uVar10 - 2" identifier - number_literal)) ;) (if_statement "if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }" if (parenthesized_expression "(param_3 == (int *)0x0)" ( (binary_expression "param_3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }" { (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00128570:\n          param_3 = (int *)*param_1;" statement_identifier : (expression_statement "param_3 = (int *)*param_1;" (assignment_expression "param_3 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;)) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);" (call_expression "FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60)" identifier (argument_list "(param_1,iVar5,&local_5c,&local_58,&local_60)" ( identifier , identifier , (pointer_expression "&local_5c" & identifier) , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) ))) ;) (if_statement "if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }" if (parenthesized_expression "(((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0'))" ( (binary_expression "((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')" (parenthesized_expression "((local_60 == 0) && (1 < local_5c))" ( (binary_expression "(local_60 == 0) && (1 < local_5c)" (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) && (parenthesized_expression "(1 < local_5c)" ( (binary_expression "1 < local_5c" number_literal < identifier) ))) )) && (parenthesized_expression "(*(char *)(param_3 + 0x3a) != '\0')" ( (binary_expression "*(char *)(param_3 + 0x3a) != '\0'" (pointer_expression "*(char *)(param_3 + 0x3a)" * (cast_expression "(char *)(param_3 + 0x3a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3a)" ( (binary_expression "param_3 + 0x3a" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }" { (expression_statement "piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8)" (parenthesized_expression "(*(code *)PTR_sqlite3_malloc64_0015b760)" ( (pointer_expression "*(code *)PTR_sqlite3_malloc64_0015b760" * (cast_expression "(code *)PTR_sqlite3_malloc64_0015b760" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,(local_5c * 3 + local_58) * 8)" ( number_literal , (binary_expression "(local_5c * 3 + local_58) * 8" (parenthesized_expression "(local_5c * 3 + local_58)" ( (binary_expression "local_5c * 3 + local_58" (binary_expression "local_5c * 3" identifier * number_literal) + identifier) )) * number_literal) ))))) ;) (if_statement "if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_60 = 7;\n            }" { (expression_statement "local_60 = 7;" (assignment_expression "local_60 = 7" identifier = number_literal) ;) }) (else_clause "else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }" else (compound_statement "{\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }" { (expression_statement "param_3 = piVar11 + local_5c * 6;" (assignment_expression "param_3 = piVar11 + local_5c * 6" identifier = (binary_expression "piVar11 + local_5c * 6" identifier + (binary_expression "local_5c * 6" identifier * number_literal))) ;) (expression_statement "local_54 = piVar11;" (assignment_expression "local_54 = piVar11" identifier = identifier) ;) (expression_statement "local_50 = param_3;" (assignment_expression "local_50 = param_3" identifier = identifier) ;) (expression_statement "FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);" (call_expression "FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60)" identifier (argument_list "(param_1,0,param_1[4],&local_54,ppiVar12,&local_60)" ( identifier , number_literal , (subscript_expression "param_1[4]" identifier [ number_literal ]) , (pointer_expression "&local_54" & identifier) , identifier , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "local_58 = (int)local_50 - (int)param_3 >> 2;" (assignment_expression "local_58 = (int)local_50 - (int)param_3 >> 2" identifier = (binary_expression "(int)local_50 - (int)param_3 >> 2" (binary_expression "(int)local_50 - (int)param_3" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;" (assignment_expression "local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555" identifier = (binary_expression "((int)local_54 - (int)piVar11 >> 3) * -0x55555555" (parenthesized_expression "((int)local_54 - (int)piVar11 >> 3)" ( (binary_expression "(int)local_54 - (int)piVar11 >> 3" (binary_expression "(int)local_54 - (int)piVar11" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (if_statement "if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (compound_statement "{\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }" { (expression_statement "ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);" (assignment_expression "ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750)" identifier = (cast_expression "(int **)(PTR_LAB_0015b6d4 + 0x5750)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_LAB_0015b6d4 + 0x5750)" ( (binary_expression "PTR_LAB_0015b6d4 + 0x5750" identifier + number_literal) )))) ;) (expression_statement "local_60 = FUN_00125750(param_1,0,piVar11);" (assignment_expression "local_60 = FUN_00125750(param_1,0,piVar11)" identifier = (call_expression "FUN_00125750(param_1,0,piVar11)" identifier (argument_list "(param_1,0,piVar11)" ( identifier , number_literal , identifier )))) ;) (expression_statement "uVar13 = local_60;" (assignment_expression "uVar13 = local_60" identifier = identifier) ;) (if_statement "if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }" if (parenthesized_expression "((local_60 == 0) && (uVar10 = 0, 0 < local_58))" ( (binary_expression "(local_60 == 0) && (uVar10 = 0, 0 < local_58)" (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar10 = 0, 0 < local_58)" ( (comma_expression "uVar10 = 0, 0 < local_58" (assignment_expression "uVar10 = 0" identifier = number_literal) , (binary_expression "0 < local_58" number_literal < identifier)) ))) )) (compound_statement "{\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }" { (do_statement "do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);" do (compound_statement "{\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);" (assignment_expression "local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c)" identifier = (call_expression "FUN_00125750(param_1,*param_3,piVar11,local_5c)" identifier (argument_list "(param_1,*param_3,piVar11,local_5c)" ( identifier , (pointer_expression "*param_3" * identifier) , identifier , identifier )))) ;) (expression_statement "uVar13 = uVar10;" (assignment_expression "uVar13 = uVar10" identifier = identifier) ;) (if_statement "if (local_60 != 0) break;" if (parenthesized_expression "(local_60 != 0)" ( (binary_expression "local_60 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar10 < local_58)" ( (binary_expression "(int)uVar10 < local_58" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) })) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(piVar11);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier ))) ;) }))) })) (expression_statement "FUN_00127f08(param_1,param_1[4],&local_60);" (call_expression "FUN_00127f08(param_1,param_1[4],&local_60)" identifier (argument_list "(param_1,param_1[4],&local_60)" ( identifier , (subscript_expression "param_1[4]" identifier [ number_literal ]) , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "uVar10 = local_60;" (assignment_expression "uVar10 = local_60" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));" (call_expression "(*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8))" (parenthesized_expression "(*(code *)PTR_sqlite3_blob_close_0015b868)" ( (pointer_expression "*(code *)PTR_sqlite3_blob_close_0015b868" * (cast_expression "(code *)PTR_sqlite3_blob_close_0015b868" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar9 + 0xf8))" ( (pointer_expression "*(undefined4 *)(iVar9 + 0xf8)" * (cast_expression "(undefined4 *)(iVar9 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xf8)" ( (binary_expression "iVar9 + 0xf8" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(iVar9 + 0xf8) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0xf8) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0xf8)" * (cast_expression "(undefined4 *)(iVar9 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xf8)" ( (binary_expression "iVar9 + 0xf8" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }" { (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[10] = param_1[0xb];" (assignment_expression "param_1[10] = param_1[0xb]" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_001281e4;" goto statement_identifier ;) })) }) (else_clause "else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }" else (compound_statement "{\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }" { (expression_statement "uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0015b9c4)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0015b9c4)" ( (pointer_expression "*(code *)PTR_strlen_0015b9c4" * (cast_expression "(code *)PTR_strlen_0015b9c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4124))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x4124)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x4124)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x4124)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x4124" identifier + number_literal) )))) )) (argument_list "(ppiVar12,param_3,uVar6,piVar11,&local_54)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }" { (expression_statement "iVar5 = param_1[4];" (assignment_expression "iVar5 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (if_statement "if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }" { (if_statement "if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }" { (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4f20))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x4f20)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x4f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x4f20)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x4f20" identifier + number_literal) )))) )) (argument_list "(piVar11,0xc)" ( identifier , number_literal )))) ;) (if_statement "if (uVar10 != 0) goto LAB_0012844c;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012844c;" goto statement_identifier ;)) (expression_statement "iVar7 = param_1[4];" (assignment_expression "iVar7 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);" (assignment_expression "uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x24b4))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x24b4)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x24b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x24b4)" ( (binary_expression "PTR_LAB_0015b65c + 0x24b4" identifier + number_literal) )))) )) (argument_list "(iVar7,0xc)" ( identifier , number_literal )))) ;) (expression_statement "uVar10 = (uint)((ulonglong)uVar14 >> 0x20);" (assignment_expression "uVar10 = (uint)((ulonglong)uVar14 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar14 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar14 >> 0x20)" ( (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "iVar5 = (int)uVar14;" (assignment_expression "iVar5 = (int)uVar14" identifier = (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (uVar10 != 0) goto LAB_00128450;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00128450;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00128570;" goto statement_identifier ;) })) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x3f2c)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x3f2c" identifier + number_literal) )))) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;" statement_identifier : (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x2490;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x2490" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x2490" identifier + number_literal)) ;)) (expression_statement "piVar8 = param_3;" (assignment_expression "piVar8 = param_3" identifier = identifier) ;) }) (else_clause "else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }" else (compound_statement "{\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }" { (labeled_statement "LAB_0012844c:\n            iVar7 = param_1[4];" statement_identifier : (expression_statement "iVar7 = param_1[4];" (assignment_expression "iVar7 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x3f2c)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x3f2c" identifier + number_literal) )))) )) (argument_list "(iVar7)" ( identifier ))) ;)) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }" if (parenthesized_expression "(uVar10 != 0x12)" ( (binary_expression "uVar10 != 0x12" identifier != number_literal) )) (compound_statement "{\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }" { (if_statement "if (uVar10 != 1) goto LAB_001281f8;" if (parenthesized_expression "(uVar10 != 1)" ( (binary_expression "uVar10 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001281f8;" goto statement_identifier ;)) (goto_statement "goto LAB_0012841c;" goto statement_identifier ;) })) (expression_statement "piVar8 = (int *)&DAT_0000000c;" (assignment_expression "piVar8 = (int *)&DAT_0000000c" identifier = (cast_expression "(int *)&DAT_0000000c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x24c4;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x24c4" identifier = (binary_expression "PTR_UINT_0015b5fc + -0x24c4" identifier + number_literal)) ;) }))) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (expression_statement "(*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);" (call_expression "(*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8)" (parenthesized_expression "(*(code *)(PTR_DAT_0015b71c + 0x2618))" ( (pointer_expression "*(code *)(PTR_DAT_0015b71c + 0x2618)" * (cast_expression "(code *)(PTR_DAT_0015b71c + 0x2618)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015b71c + 0x2618)" ( (binary_expression "PTR_DAT_0015b71c + 0x2618" identifier + number_literal) )))) )) (argument_list "(uVar13,puVar4,piVar8)" ( identifier , identifier , identifier ))) ;) }))) }))) }))) (labeled_statement "LAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar2)" ( (binary_expression "local_2c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return uVar10;\n    }" { (return_statement "return uVar10;" return identifier ;) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00128814:\n    uVar14 = 0x8000000000000000;" statement_identifier : (expression_statement "uVar14 = 0x8000000000000000;" (assignment_expression "uVar14 = 0x8000000000000000" identifier = number_literal) ;)) (labeled_statement "LAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;" statement_identifier : (expression_statement "*(undefined8 *)(param_1 + 0x12) = uVar14;" (assignment_expression "*(undefined8 *)(param_1 + 0x12) = uVar14" (pointer_expression "*(undefined8 *)(param_1 + 0x12)" * (cast_expression "(undefined8 *)(param_1 + 0x12)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x12)" ( (binary_expression "param_1 + 0x12" identifier + number_literal) )))) = identifier) ;)) (if_statement "if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }" if (parenthesized_expression "(ppiVar12 == (int **)0x0)" ( (binary_expression "ppiVar12 == (int **)0x0" identifier == (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      uVar14 = 0x7fffffffffffffff;\n    }" { (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }" else (compound_statement "{\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }" { (expression_statement "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" ( (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" * (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppiVar12)" ( identifier )))) ;) (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" identifier = number_literal) ;) (if_statement "if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }" { (expression_statement "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);" (assignment_expression "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12)" identifier = (call_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)" ( (pointer_expression "*(code *)PTR_sqlite3_value_int64_0015b608" * (cast_expression "(code *)PTR_sqlite3_value_int64_0015b608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppiVar12)" ( identifier )))) ;) })) }))) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE 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 (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 IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (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 * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ IDENT ]))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) (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 ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) )))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ IDENT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ (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 ))) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement 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 )))) ;)) (goto_statement goto statement_identifier ;) })) (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 *)) ) 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 { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (char_literal ' character '))) ;) }))) (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 (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT , 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT , LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (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 != LIT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_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 * (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 != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression 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 , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })))) (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 IDENT + LIT) )))) )) (argument_list ( 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 ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = 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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (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 ( LIT , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + 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) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) }) (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 )))) ;) (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 , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_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 IDENT + LIT) )))) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (labeled_statement statement_identifier : (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression 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 , IDENT , 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 )))) ;) (expression_statement (assignment_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) })) }))) }) while (parenthesized_expression ( BOOL )) ;)) })))
(function_definition "uint FUN_00128050(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  uint uVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int **ppiVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  undefined4 local_64;\n  uint local_60;\n  int local_5c;\n  int local_58;\n  int *local_54;\n  int *local_50;\n  int local_4c;\n  undefined4 local_48;\n  uint local_44;\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = param_2 & 0xffff;\n  iVar9 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }\n  uVar3 = (uint)(uVar10 != 0);\n  if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  param_1[0x13] = 0;\n  piVar11 = (int *)0x0;\n  param_1[0x12] = -0x80000000;\n  ppiVar12 = (int **)0x0;\n  uVar14 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );\n}" (type_identifier "uint") (function_declarator "FUN_00128050(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)" (identifier "FUN_00128050") (parameter_list "(int *param_1,uint param_2,int *param_3,undefined4 param_4,undefined4 *param_5)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 *param_5" (type_identifier "undefined4") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")"))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  uint uVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int **ppiVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  undefined4 local_64;\n  uint local_60;\n  int local_5c;\n  int local_58;\n  int *local_54;\n  int *local_50;\n  int local_4c;\n  undefined4 local_48;\n  uint local_44;\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0015ba2c;\n  uVar10 = param_2 & 0xffff;\n  iVar9 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }\n  uVar3 = (uint)(uVar10 != 0);\n  if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }\n  param_1[0x13] = 0;\n  piVar11 = (int *)0x0;\n  param_1[0x12] = -0x80000000;\n  ppiVar12 = (int **)0x0;\n  uVar14 = 0x7fffffffffffffff;\nLAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int **ppiVar12;" (primitive_type "int") (pointer_declarator "**ppiVar12" (* "*") (pointer_declarator "*ppiVar12" (* "*") (identifier "ppiVar12"))) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "undefined8 uVar14;" (type_identifier "undefined8") (identifier "uVar14") (; ";")) (declaration "undefined4 local_64;" (type_identifier "undefined4") (identifier "local_64") (; ";")) (declaration "uint local_60;" (type_identifier "uint") (identifier "local_60") (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "int *local_54;" (primitive_type "int") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "int *local_50;" (primitive_type "int") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0015ba2c" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_0015ba2c")) (; ";")) (expression_statement "uVar10 = param_2 & 0xffff;" (assignment_expression "uVar10 = param_2 & 0xffff" (identifier "uVar10") (= "=") (binary_expression "param_2 & 0xffff" (identifier "param_2") (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "iVar9 = *param_1;" (assignment_expression "iVar9 = *param_1" (identifier "iVar9") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c")))) (; ";")) (if_statement "if (uVar10 == 0) {\n    local_64 = 0;\n  }\n  else {\n    local_64 = *param_5;\n  }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_64 = 0;\n  }" ({ "{") (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    local_64 = *param_5;\n  }" (else "else") (compound_statement "{\n    local_64 = *param_5;\n  }" ({ "{") (expression_statement "local_64 = *param_5;" (assignment_expression "local_64 = *param_5" (identifier "local_64") (= "=") (pointer_expression "*param_5" (* "*") (identifier "param_5"))) (; ";")) (} "}")))) (expression_statement "uVar3 = (uint)(uVar10 != 0);" (assignment_expression "uVar3 = (uint)(uVar10 != 0)" (identifier "uVar3") (= "=") (call_expression "(uint)(uVar10 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (if_statement "if ((int)(param_2 << 0xf) < 0) {\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }\n  else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" (if "if") (parenthesized_expression "((int)(param_2 << 0xf) < 0)" (( "(") (binary_expression "(int)(param_2 << 0xf) < 0" (cast_expression "(int)(param_2 << 0xf)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 << 0xf)" (( "(") (binary_expression "param_2 << 0xf" (identifier "param_2") (<< "<<") (number_literal "0xf")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    uVar13 = param_5[uVar3];\n    uVar3 = uVar3 + 1;\n    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;\nLAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n  }" ({ "{") (expression_statement "uVar13 = param_5[uVar3];" (assignment_expression "uVar13 = param_5[uVar3]" (identifier "uVar13") (= "=") (subscript_expression "param_5[uVar3]" (identifier "param_5") ([ "[") (identifier "uVar3") (] "]"))) (; ";")) (expression_statement "uVar3 = uVar3 + 1;" (assignment_expression "uVar3 = uVar3 + 1" (identifier "uVar3") (= "=") (binary_expression "uVar3 + 1" (identifier "uVar3") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;" (if "if") (parenthesized_expression "((int)(param_2 << 0xe) < 0)" (( "(") (binary_expression "(int)(param_2 << 0xe) < 0" (cast_expression "(int)(param_2 << 0xe)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 << 0xe)" (( "(") (binary_expression "param_2 << 0xe" (identifier "param_2") (<< "<<") (number_literal "0xe")) () ")"))) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00128240;" (goto "goto") (statement_identifier "LAB_00128240") (; ";"))) (labeled_statement "LAB_001280e8:\n    if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" (statement_identifier "LAB_001280e8") (: ":") (if_statement "if ((int)(param_2 << 0xd) < 0) {\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" (if "if") (parenthesized_expression "((int)(param_2 << 0xd) < 0)" (( "(") (binary_expression "(int)(param_2 << 0xd) < 0" (cast_expression "(int)(param_2 << 0xd)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 << 0xd)" (( "(") (binary_expression "param_2 << 0xd" (identifier "param_2") (<< "<<") (number_literal "0xd")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar11 = (int *)0x0;\n      ppiVar12 = (int **)param_5[uVar3];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      uVar14 = 0x8000000000000000;\n      goto LAB_001282e8;\n    }" ({ "{") (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" (identifier "piVar11") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppiVar12 = (int **)param_5[uVar3];" (assignment_expression "ppiVar12 = (int **)param_5[uVar3]" (identifier "ppiVar12") (= "=") (cast_expression "(int **)param_5[uVar3]" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_5[uVar3]" (identifier "param_5") ([ "[") (identifier "uVar3") (] "]")))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x79e0")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "uVar14 = 0x8000000000000000;" (assignment_expression "uVar14 = 0x8000000000000000" (identifier "uVar14") (= "=") (number_literal "0x8000000000000000")) (; ";")) (goto_statement "goto LAB_001282e8;" (goto "goto") (statement_identifier "LAB_001282e8") (; ";")) (} "}")))) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x79e0")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" (else "else") (compound_statement "{\n    uVar13 = 0;\n    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;\nLAB_00128240:\n    piVar11 = (int *)param_5[uVar3];\n    if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }\n    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n    if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }\n  }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (if_statement "if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;" (if "if") (parenthesized_expression "(-1 < (int)(param_2 << 0xe))" (( "(") (binary_expression "-1 < (int)(param_2 << 0xe)" (number_literal "-1") (< "<") (cast_expression "(int)(param_2 << 0xe)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 << 0xe)" (( "(") (binary_expression "param_2 << 0xe" (identifier "param_2") (<< "<<") (number_literal "0xe")) () ")")))) () ")")) (goto_statement "goto LAB_001280e8;" (goto "goto") (statement_identifier "LAB_001280e8") (; ";"))) (labeled_statement "LAB_00128240:\n    piVar11 = (int *)param_5[uVar3];" (statement_identifier "LAB_00128240") (: ":") (expression_statement "piVar11 = (int *)param_5[uVar3];" (assignment_expression "piVar11 = (int *)param_5[uVar3]" (identifier "piVar11") (= "=") (cast_expression "(int *)param_5[uVar3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_5[uVar3]" (identifier "param_5") ([ "[") (identifier "uVar3") (] "]")))) (; ";"))) (if_statement "if ((int)(param_2 << 0xd) < 0) {\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }" (if "if") (parenthesized_expression "((int)(param_2 << 0xd) < 0)" (( "(") (binary_expression "(int)(param_2 << 0xd) < 0" (cast_expression "(int)(param_2 << 0xd)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 << 0xd)" (( "(") (binary_expression "param_2 << 0xd" (identifier "param_2") (<< "<<") (number_literal "0xd")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      ppiVar12 = (int **)param_5[uVar3 + 1];\n      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);\n      if (piVar11 == (int *)0x0) goto LAB_00128814;\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      uVar14 = 0x8000000000000000;\n      if (iVar5 != 1) goto LAB_001282e8;\nLAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);\n      goto LAB_001282e8;\n    }" ({ "{") (expression_statement "ppiVar12 = (int **)param_5[uVar3 + 1];" (assignment_expression "ppiVar12 = (int **)param_5[uVar3 + 1]" (identifier "ppiVar12") (= "=") (cast_expression "(int **)param_5[uVar3 + 1]" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_5[uVar3 + 1]" (identifier "param_5") ([ "[") (binary_expression "uVar3 + 1" (identifier "uVar3") (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x79e0")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (if_statement "if (piVar11 == (int *)0x0) goto LAB_00128814;" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00128814;" (goto "goto") (statement_identifier "LAB_00128814") (; ";"))) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" (* "*") (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_value_numeric_type_0015b730"))) () ")")) (argument_list "(piVar11)" (( "(") (identifier "piVar11") () ")")))) (; ";")) (expression_statement "uVar14 = 0x8000000000000000;" (assignment_expression "uVar14 = 0x8000000000000000" (identifier "uVar14") (= "=") (number_literal "0x8000000000000000")) (; ";")) (if_statement "if (iVar5 != 1) goto LAB_001282e8;" (if "if") (parenthesized_expression "(iVar5 != 1)" (( "(") (binary_expression "iVar5 != 1" (identifier "iVar5") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_001282e8;" (goto "goto") (statement_identifier "LAB_001282e8") (; ";"))) (labeled_statement "LAB_0012829c:\n      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);" (statement_identifier "LAB_0012829c") (: ":") (expression_statement "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);" (assignment_expression "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11)" (identifier "uVar14") (= "=") (call_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_value_int64_0015b608" (* "*") (cast_expression "(code *)PTR_sqlite3_value_int64_0015b608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_value_int64_0015b608"))) () ")")) (argument_list "(piVar11)" (( "(") (identifier "piVar11") () ")")))) (; ";"))) (goto_statement "goto LAB_001282e8;" (goto "goto") (statement_identifier "LAB_001282e8") (; ";")) (} "}"))) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x79e0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x79e0)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x79e0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x79e0)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x79e0" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x79e0")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (if_statement "if (piVar11 != (int *)0x0) {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }" (if "if") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);\n      if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }\n      param_1[0x13] = 0;\n      ppiVar12 = (int **)0x0;\n      param_1[0x12] = -0x80000000;\n      uVar14 = 0x7fffffffffffffff;\n      goto LAB_00128128;\n    }" ({ "{") (expression_statement "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" (* "*") (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_value_numeric_type_0015b730"))) () ")")) (argument_list "(piVar11)" (( "(") (identifier "piVar11") () ")")))) (; ";")) (if_statement "if (iVar5 == 1) {\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }" (if "if") (parenthesized_expression "(iVar5 == 1)" (( "(") (binary_expression "iVar5 == 1" (identifier "iVar5") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        ppiVar12 = (int **)0x0;\n        goto LAB_0012829c;\n      }" ({ "{") (expression_statement "ppiVar12 = (int **)0x0;" (assignment_expression "ppiVar12 = (int **)0x0" (identifier "ppiVar12") (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0012829c;" (goto "goto") (statement_identifier "LAB_0012829c") (; ";")) (} "}"))) (expression_statement "param_1[0x13] = 0;" (assignment_expression "param_1[0x13] = 0" (subscript_expression "param_1[0x13]" (identifier "param_1") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "ppiVar12 = (int **)0x0;" (assignment_expression "ppiVar12 = (int **)0x0" (identifier "ppiVar12") (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_1[0x12] = -0x80000000;" (assignment_expression "param_1[0x12] = -0x80000000" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "-0x80000000")) (; ";")) (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" (identifier "uVar14") (= "=") (number_literal "0x7fffffffffffffff")) (; ";")) (goto_statement "goto LAB_00128128;" (goto "goto") (statement_identifier "LAB_00128128") (; ";")) (} "}"))) (} "}")))) (expression_statement "param_1[0x13] = 0;" (assignment_expression "param_1[0x13] = 0" (subscript_expression "param_1[0x13]" (identifier "param_1") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" (identifier "piVar11") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_1[0x12] = -0x80000000;" (assignment_expression "param_1[0x12] = -0x80000000" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "-0x80000000")) (; ";")) (expression_statement "ppiVar12 = (int **)0x0;" (assignment_expression "ppiVar12 = (int **)0x0" (identifier "ppiVar12") (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" (identifier "uVar14") (= "=") (number_literal "0x7fffffffffffffff")) (; ";")) (labeled_statement "LAB_00128128:\n  do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );" (statement_identifier "LAB_00128128") (: ":") (do_statement "do {\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  } while( true );" (do "do") (compound_statement "{\n    *(undefined8 *)(param_1 + 0x14) = uVar14;\n    if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }\n    *(char *)(param_1 + 0xd) = cVar1;\n    *(short *)(param_1 + 1) = (short)param_2;\n    if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }\nLAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }\n    (*(code *)PTR___stack_chk_fail_0015ba10)();\nLAB_00128814:\n    uVar14 = 0x8000000000000000;\nLAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;\n    if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }\n  }" ({ "{") (expression_statement "*(undefined8 *)(param_1 + 0x14) = uVar14;" (assignment_expression "*(undefined8 *)(param_1 + 0x14) = uVar14" (pointer_expression "*(undefined8 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar14")) (; ";")) (if_statement "if (param_3 == (int *)0x0) {\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }\n    else {\n      cVar1 = *(char *)param_3 == 'D';\n    }" (if "if") (parenthesized_expression "(param_3 == (int *)0x0)" (( "(") (binary_expression "param_3 == (int *)0x0" (identifier "param_3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      cVar1 = *(char *)(iVar9 + 0xeb);\n    }" ({ "{") (expression_statement "cVar1 = *(char *)(iVar9 + 0xeb);" (assignment_expression "cVar1 = *(char *)(iVar9 + 0xeb)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(iVar9 + 0xeb)" (* "*") (cast_expression "(char *)(iVar9 + 0xeb)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xeb)" (( "(") (binary_expression "iVar9 + 0xeb" (identifier "iVar9") (+ "+") (number_literal "0xeb")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      cVar1 = *(char *)param_3 == 'D';\n    }" (else "else") (compound_statement "{\n      cVar1 = *(char *)param_3 == 'D';\n    }" ({ "{") (expression_statement "cVar1 = *(char *)param_3 == 'D';" (assignment_expression "cVar1 = *(char *)param_3 == 'D'" (identifier "cVar1") (= "=") (binary_expression "*(char *)param_3 == 'D'" (pointer_expression "*(char *)param_3" (* "*") (cast_expression "(char *)param_3" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) (== "==") (char_literal "'D'" (' "'") (character "D") (' "'")))) (; ";")) (} "}")))) (expression_statement "*(char *)(param_1 + 0xd) = cVar1;" (assignment_expression "*(char *)(param_1 + 0xd) = cVar1" (pointer_expression "*(char *)(param_1 + 0xd)" (* "*") (cast_expression "(char *)(param_1 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xd)" (( "(") (binary_expression "param_1 + 0xd" (identifier "param_1") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (identifier "cVar1")) (; ";")) (expression_statement "*(short *)(param_1 + 1) = (short)param_2;" (assignment_expression "*(short *)(param_1 + 1) = (short)param_2" (pointer_expression "*(short *)(param_1 + 1)" (* "*") (cast_expression "(short *)(param_1 + 1)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 1)" (( "(") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(short)param_2" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "param_2"))) (; ";")) (if_statement "if ((param_2 & 0xfffe) == 0) {\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }\n    else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }" (if "if") (parenthesized_expression "((param_2 & 0xfffe) == 0)" (( "(") (binary_expression "(param_2 & 0xfffe) == 0" (parenthesized_expression "(param_2 & 0xfffe)" (( "(") (binary_expression "param_2 & 0xfffe" (identifier "param_2") (& "&") (number_literal "0xfffe")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }\nLAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);\n    }" ({ "{") (if_statement "if (uVar10 == 0) {\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }\n      else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }\n        if (iVar5 == 0) goto LAB_00128540;\n        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);\n        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);\nLAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;\n      }" ({ "{") (if_statement "if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }\n        else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }" (if "if") (parenthesized_expression "((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0))" (( "(") (binary_expression "(piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)" (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(ppiVar12 == (int **)0x0)" (( "(") (binary_expression "ppiVar12 == (int **)0x0" (identifier "ppiVar12") (== "==") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);\n        }" ({ "{") (if_statement "if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }" ({ "{") (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x48b4;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x48b4" (identifier "puVar4") (= "=") (binary_expression "PTR_UINT_0015b5fc + -0x48b4" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x48b4"))) (; ";")) (} "}")) (else_clause "else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" (else "else") (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" ({ "{") (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x51b0;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x51b0" (identifier "puVar4") (= "=") (binary_expression "PTR_UINT_0015b5fc + -0x51b0" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x51b0"))) (; ";")) (} "}")))) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" (* "*") (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_mprintf_0015b628"))) () ")")) (argument_list "(PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4)" (( "(") (binary_expression "PTR_UINT_0015b5fc + -0x242c" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x242c")) (, ",") (pointer_expression "*(undefined4 *)(iVar9 + 0xdc)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xdc)" (( "(") (binary_expression "iVar9 + 0xdc" (identifier "iVar9") (+ "+") (number_literal "0xdc")) () ")")))) (, ",") (identifier "puVar4") () ")")))) (; ";")) (} "}")) (else_clause "else {\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }" (else "else") (compound_statement "{\n          if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }\n          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);\n        }" ({ "{") (if_statement "if (cVar1 == '\0') {\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }\n          else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x48b4;\n          }" ({ "{") (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x48b4;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x48b4" (identifier "puVar4") (= "=") (binary_expression "PTR_UINT_0015b5fc + -0x48b4" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x48b4"))) (; ";")) (} "}")) (else_clause "else {\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" (else "else") (compound_statement "{\n            puVar4 = PTR_UINT_0015b5fc + -0x51b0;\n          }" ({ "{") (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x51b0;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x51b0" (identifier "puVar4") (= "=") (binary_expression "PTR_UINT_0015b5fc + -0x51b0" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x51b0"))) (; ";")) (} "}")))) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)\n                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" (* "*") (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_mprintf_0015b628"))) () ")")) (argument_list "(PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]\n                             ,param_1[0x13],uVar14,puVar4)" (( "(") (binary_expression "PTR_UINT_0015b5fc + -0x246c" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x246c")) (, ",") (pointer_expression "*(undefined4 *)(iVar9 + 0xdc)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xdc)" (( "(") (binary_expression "iVar9 + 0xdc" (identifier "iVar9") (+ "+") (number_literal "0xdc")) () ")")))) (, ",") (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (, ",") (subscript_expression "param_1[0x13]" (identifier "param_1") ([ "[") (number_literal "0x13") (] "]")) (, ",") (identifier "uVar14") (, ",") (identifier "puVar4") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar5 == 0) goto LAB_00128540;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00128540;" (goto "goto") (statement_identifier "LAB_00128540") (; ";"))) (expression_statement "uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);" (assignment_expression "uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_sqlite3_prepare_v3_0015b8a0)\n                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0)" (parenthesized_expression "(*(code *)PTR_sqlite3_prepare_v3_0015b8a0)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_prepare_v3_0015b8a0" (* "*") (cast_expression "(code *)PTR_sqlite3_prepare_v3_0015b8a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_prepare_v3_0015b8a0"))) () ")")) (argument_list "(*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar9 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xc)" (( "(") (binary_expression "iVar9 + 0xc" (identifier "iVar9") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "iVar5") (, ",") (number_literal "0xffffffff") (, ",") (number_literal "1") (, ",") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(iVar5);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(iVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0015b620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0015b620"))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (labeled_statement "LAB_001281d8:\n        if (uVar10 != 0) goto LAB_001281f8;" (statement_identifier "LAB_001281d8") (: ":") (if_statement "if (uVar10 != 0) goto LAB_001281f8;" (if "if") (parenthesized_expression "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001281f8;" (goto "goto") (statement_identifier "LAB_001281f8") (; ";")))) (} "}")) (else_clause "else if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" (else "else") (if_statement "if (uVar10 == 1) {\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" (if "if") (parenthesized_expression "(uVar10 == 1)" (( "(") (binary_expression "uVar10 == 1" (identifier "uVar10") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        iVar5 = param_1[3];\n        if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }\n        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);\n        goto LAB_001281d8;\n      }" ({ "{") (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" (identifier "iVar5") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (iVar5 == 0) {\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);\n          if (uVar10 != 0) goto LAB_001281f8;\n          iVar5 = param_1[3];\n        }" ({ "{") (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1)" (identifier "uVar10") (= "=") (call_expression "(*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6d0 + -0x7e8c)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6d0 + -0x7e8c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6d0 + -0x7e8c)" (( "(") (binary_expression "PTR_LAB_0015b6d0 + -0x7e8c" (identifier "PTR_LAB_0015b6d0") (+ "+") (number_literal "-0x7e8c")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (uVar10 != 0) goto LAB_001281f8;" (if "if") (parenthesized_expression "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001281f8;" (goto "goto") (statement_identifier "LAB_001281f8") (; ";"))) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" (identifier "iVar5") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (} "}"))) (expression_statement "uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);" (assignment_expression "uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_value_0015b80c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_bind_value_0015b80c" (* "*") (cast_expression "(code *)PTR_sqlite3_bind_value_0015b80c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_bind_value_0015b80c"))) () ")")) (argument_list "(iVar5,1,local_64)" (( "(") (identifier "iVar5") (, ",") (number_literal "1") (, ",") (identifier "local_64") () ")")))) (; ";")) (goto_statement "goto LAB_001281d8;" (goto "goto") (statement_identifier "LAB_001281d8") (; ";")) (} "}"))))) (labeled_statement "LAB_001281e4:\n      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);" (statement_identifier "LAB_001281e4") (: ":") (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1)" (identifier "uVar10") (= "=") (call_expression "(*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6d0 + 0x7a84))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6d0 + 0x7a84)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6d0 + 0x7a84)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6d0 + 0x7a84)" (( "(") (binary_expression "PTR_LAB_0015b6d0 + 0x7a84" (identifier "PTR_LAB_0015b6d0") (+ "+") (number_literal "0x7a84")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";"))) (} "}")) (else_clause "else {\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }" (else "else") (compound_statement "{\n      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);\n      if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }\n    }" ({ "{") (expression_statement "param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);" (assignment_expression "param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64)" (identifier "param_3") (= "=") (cast_expression "(int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sqlite3_value_text_0015b614)(local_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_text_0015b614)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_value_text_0015b614" (* "*") (cast_expression "(code *)PTR_sqlite3_value_text_0015b614" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_value_text_0015b614"))) () ")")) (argument_list "(local_64)" (( "(") (identifier "local_64") () ")"))))) (; ";")) (if_statement "if ((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {\nLAB_00128540:\n        uVar10 = 7;\n      }\n      else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }" (if "if") (parenthesized_expression "((param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5))" (( "(") (binary_expression "(param_3 == (int *)0x0) &&\n         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)" (parenthesized_expression "(param_3 == (int *)0x0)" (( "(") (binary_expression "param_3 == (int *)0x0" (identifier "param_3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)" (( "(") (comma_expression "iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_type_0015b5f8)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_value_type_0015b5f8" (* "*") (cast_expression "(code *)PTR_sqlite3_value_type_0015b5f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_value_type_0015b5f8"))) () ")")) (argument_list "(local_64)" (( "(") (identifier "local_64") () ")")))) (, ",") (binary_expression "iVar5 != 5" (identifier "iVar5") (!= "!=") (number_literal "5"))) () ")"))) () ")")) (compound_statement "{\nLAB_00128540:\n        uVar10 = 7;\n      }" ({ "{") (labeled_statement "LAB_00128540:\n        uVar10 = 7;" (statement_identifier "LAB_00128540") (: ":") (expression_statement "uVar10 = 7;" (assignment_expression "uVar10 = 7" (identifier "uVar10") (= "=") (number_literal "7")) (; ";"))) (} "}")) (else_clause "else {\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }" (else "else") (compound_statement "{\n        param_1[5] = 0;\n        if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }\n        local_50 = *(int **)(iVar9 + 0x24);\n        piVar11 = param_1 + 4;\n        local_48 = *(undefined4 *)(iVar9 + 0x1c);\n        uVar13 = iVar9 + 8;\n        local_44 = (uint)*(byte *)(iVar9 + 0xe8);\n        ppiVar12 = &local_50;\n        local_40 = *(undefined4 *)(iVar9 + 0x18);\n        local_38 = 0;\n        local_34 = 0;\n        local_30 = 0;\n        local_3c = uVar10 - 2;\n        if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }\n      }" ({ "{") (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar13 == 0) {\n          local_4c = 0;\n        }\n        else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }" (if "if") (parenthesized_expression "(uVar13 == 0)" (( "(") (binary_expression "uVar13 == 0" (identifier "uVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_4c = 0;\n        }" ({ "{") (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }" (else "else") (compound_statement "{\n          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);\n          param_1[5] = local_4c;\n        }" ({ "{") (expression_statement "local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);" (assignment_expression "local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13)" (identifier "local_4c") (= "=") (call_expression "(*(code *)PTR_sqlite3_value_int_0015b734)(uVar13)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int_0015b734)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_value_int_0015b734" (* "*") (cast_expression "(code *)PTR_sqlite3_value_int_0015b734" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_value_int_0015b734"))) () ")")) (argument_list "(uVar13)" (( "(") (identifier "uVar13") () ")")))) (; ";")) (expression_statement "param_1[5] = local_4c;" (assignment_expression "param_1[5] = local_4c" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_4c")) (; ";")) (} "}")))) (expression_statement "local_50 = *(int **)(iVar9 + 0x24);" (assignment_expression "local_50 = *(int **)(iVar9 + 0x24)" (identifier "local_50") (= "=") (pointer_expression "*(int **)(iVar9 + 0x24)" (* "*") (cast_expression "(int **)(iVar9 + 0x24)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "piVar11 = param_1 + 4;" (assignment_expression "piVar11 = param_1 + 4" (identifier "piVar11") (= "=") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "local_48 = *(undefined4 *)(iVar9 + 0x1c);" (assignment_expression "local_48 = *(undefined4 *)(iVar9 + 0x1c)" (identifier "local_48") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar13 = iVar9 + 8;" (assignment_expression "uVar13 = iVar9 + 8" (identifier "uVar13") (= "=") (binary_expression "iVar9 + 8" (identifier "iVar9") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "local_44 = (uint)*(byte *)(iVar9 + 0xe8);" (assignment_expression "local_44 = (uint)*(byte *)(iVar9 + 0xe8)" (identifier "local_44") (= "=") (binary_expression "(uint)*(byte *)(iVar9 + 0xe8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar9 + 0xe8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xe8)" (( "(") (binary_expression "iVar9 + 0xe8" (identifier "iVar9") (+ "+") (number_literal "0xe8")) () ")"))))) (; ";")) (expression_statement "ppiVar12 = &local_50;" (assignment_expression "ppiVar12 = &local_50" (identifier "ppiVar12") (= "=") (pointer_expression "&local_50" (& "&") (identifier "local_50"))) (; ";")) (expression_statement "local_40 = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "local_40 = *(undefined4 *)(iVar9 + 0x18)" (identifier "local_40") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = uVar10 - 2;" (assignment_expression "local_3c = uVar10 - 2" (identifier "local_3c") (= "=") (binary_expression "uVar10 - 2" (identifier "uVar10") (- "-") (number_literal "2"))) (; ";")) (if_statement "if (param_3 == (int *)0x0) {\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }\n        else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }" (if "if") (parenthesized_expression "(param_3 == (int *)0x0)" (( "(") (binary_expression "param_3 == (int *)0x0" (identifier "param_3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          param_1[4] = 0;\n          iVar5 = 0;\nLAB_00128570:\n          param_3 = (int *)*param_1;\n          local_60 = 0;\n          local_5c = 0;\n          local_58 = 0;\n          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);\n          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }\n          FUN_00127f08(param_1,param_1[4],&local_60);\n          uVar10 = local_60;\n          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));\n          *(undefined4 *)(iVar9 + 0xf8) = 0;\n          if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }\n        }" ({ "{") (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00128570:\n          param_3 = (int *)*param_1;" (statement_identifier "LAB_00128570") (: ":") (expression_statement "param_3 = (int *)*param_1;" (assignment_expression "param_3 = (int *)*param_1" (identifier "param_3") (= "=") (cast_expression "(int *)*param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";"))) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);" (call_expression "FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60)" (identifier "FUN_0011d220") (argument_list "(param_1,iVar5,&local_5c,&local_58,&local_60)" (( "(") (identifier "param_1") (, ",") (identifier "iVar5") (, ",") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")"))) (; ";")) (if_statement "if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }" (if "if") (parenthesized_expression "(((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0'))" (( "(") (binary_expression "((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')" (parenthesized_expression "((local_60 == 0) && (1 < local_5c))" (( "(") (binary_expression "(local_60 == 0) && (1 < local_5c)" (parenthesized_expression "(local_60 == 0)" (( "(") (binary_expression "local_60 == 0" (identifier "local_60") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(1 < local_5c)" (( "(") (binary_expression "1 < local_5c" (number_literal "1") (< "<") (identifier "local_5c")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_3 + 0x3a) != '\0')" (( "(") (binary_expression "*(char *)(param_3 + 0x3a) != '\0'" (pointer_expression "*(char *)(param_3 + 0x3a)" (* "*") (cast_expression "(char *)(param_3 + 0x3a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x3a)" (( "(") (binary_expression "param_3 + 0x3a" (identifier "param_3") (+ "+") (number_literal "0x3a")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);\n            if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }\n          }" ({ "{") (expression_statement "piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sqlite3_malloc64_0015b760)\n                                       (0,(local_5c * 3 + local_58) * 8)" (parenthesized_expression "(*(code *)PTR_sqlite3_malloc64_0015b760)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_malloc64_0015b760" (* "*") (cast_expression "(code *)PTR_sqlite3_malloc64_0015b760" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_malloc64_0015b760"))) () ")")) (argument_list "(0,(local_5c * 3 + local_58) * 8)" (( "(") (number_literal "0") (, ",") (binary_expression "(local_5c * 3 + local_58) * 8" (parenthesized_expression "(local_5c * 3 + local_58)" (( "(") (binary_expression "local_5c * 3 + local_58" (binary_expression "local_5c * 3" (identifier "local_5c") (* "*") (number_literal "3")) (+ "+") (identifier "local_58")) () ")")) (* "*") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (piVar11 == (int *)0x0) {\n              local_60 = 7;\n            }\n            else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              local_60 = 7;\n            }" ({ "{") (expression_statement "local_60 = 7;" (assignment_expression "local_60 = 7" (identifier "local_60") (= "=") (number_literal "7")) (; ";")) (} "}")) (else_clause "else {\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }" (else "else") (compound_statement "{\n              param_3 = piVar11 + local_5c * 6;\n              local_54 = piVar11;\n              local_50 = param_3;\n              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);\n              local_58 = (int)local_50 - (int)param_3 >> 2;\n              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;\n              if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }\n              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);\n            }" ({ "{") (expression_statement "param_3 = piVar11 + local_5c * 6;" (assignment_expression "param_3 = piVar11 + local_5c * 6" (identifier "param_3") (= "=") (binary_expression "piVar11 + local_5c * 6" (identifier "piVar11") (+ "+") (binary_expression "local_5c * 6" (identifier "local_5c") (* "*") (number_literal "6")))) (; ";")) (expression_statement "local_54 = piVar11;" (assignment_expression "local_54 = piVar11" (identifier "local_54") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "local_50 = param_3;" (assignment_expression "local_50 = param_3" (identifier "local_50") (= "=") (identifier "param_3")) (; ";")) (expression_statement "FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);" (call_expression "FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60)" (identifier "FUN_0011d568") (argument_list "(param_1,0,param_1[4],&local_54,ppiVar12,&local_60)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (identifier "ppiVar12") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")"))) (; ";")) (expression_statement "local_58 = (int)local_50 - (int)param_3 >> 2;" (assignment_expression "local_58 = (int)local_50 - (int)param_3 >> 2" (identifier "local_58") (= "=") (binary_expression "(int)local_50 - (int)param_3 >> 2" (binary_expression "(int)local_50 - (int)param_3" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (- "-") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3"))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;" (assignment_expression "local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555" (identifier "local_5c") (= "=") (binary_expression "((int)local_54 - (int)piVar11 >> 3) * -0x55555555" (parenthesized_expression "((int)local_54 - (int)piVar11 >> 3)" (( "(") (binary_expression "(int)local_54 - (int)piVar11 >> 3" (binary_expression "(int)local_54 - (int)piVar11" (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54")) (- "-") (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11"))) (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "-0x55555555"))) (; ";")) (if_statement "if (local_60 == 0) {\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }" (if "if") (parenthesized_expression "(local_60 == 0)" (( "(") (binary_expression "local_60 == 0" (identifier "local_60") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);\n                local_60 = FUN_00125750(param_1,0,piVar11);\n                uVar13 = local_60;\n                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }\n              }" ({ "{") (expression_statement "ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);" (assignment_expression "ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750)" (identifier "ppiVar12") (= "=") (cast_expression "(int **)(PTR_LAB_0015b6d4 + 0x5750)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_LAB_0015b6d4 + 0x5750)" (( "(") (binary_expression "PTR_LAB_0015b6d4 + 0x5750" (identifier "PTR_LAB_0015b6d4") (+ "+") (number_literal "0x5750")) () ")")))) (; ";")) (expression_statement "local_60 = FUN_00125750(param_1,0,piVar11);" (assignment_expression "local_60 = FUN_00125750(param_1,0,piVar11)" (identifier "local_60") (= "=") (call_expression "FUN_00125750(param_1,0,piVar11)" (identifier "FUN_00125750") (argument_list "(param_1,0,piVar11)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (identifier "piVar11") () ")")))) (; ";")) (expression_statement "uVar13 = local_60;" (assignment_expression "uVar13 = local_60" (identifier "uVar13") (= "=") (identifier "local_60")) (; ";")) (if_statement "if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }" (if "if") (parenthesized_expression "((local_60 == 0) && (uVar10 = 0, 0 < local_58))" (( "(") (binary_expression "(local_60 == 0) && (uVar10 = 0, 0 < local_58)" (parenthesized_expression "(local_60 == 0)" (( "(") (binary_expression "local_60 == 0" (identifier "local_60") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar10 = 0, 0 < local_58)" (( "(") (comma_expression "uVar10 = 0, 0 < local_58" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (, ",") (binary_expression "0 < local_58" (number_literal "0") (< "<") (identifier "local_58"))) () ")"))) () ")")) (compound_statement "{\n                  do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);\n                }" ({ "{") (do_statement "do {\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  } while ((int)uVar10 < local_58);" (do "do") (compound_statement "{\n                    local_60 = 0;\n                    uVar10 = uVar10 + 1;\n                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);\n                    uVar13 = uVar10;\n                    if (local_60 != 0) break;\n                    param_3 = param_3 + 1;\n                  }" ({ "{") (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);" (assignment_expression "local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c)" (identifier "local_60") (= "=") (call_expression "FUN_00125750(param_1,*param_3,piVar11,local_5c)" (identifier "FUN_00125750") (argument_list "(param_1,*param_3,piVar11,local_5c)" (( "(") (identifier "param_1") (, ",") (pointer_expression "*param_3" (* "*") (identifier "param_3")) (, ",") (identifier "piVar11") (, ",") (identifier "local_5c") () ")")))) (; ";")) (expression_statement "uVar13 = uVar10;" (assignment_expression "uVar13 = uVar10" (identifier "uVar13") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if (local_60 != 0) break;" (if "if") (parenthesized_expression "(local_60 != 0)" (( "(") (binary_expression "local_60 != 0" (identifier "local_60") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" (identifier "param_3") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar10 < local_58)" (( "(") (binary_expression "(int)uVar10 < local_58" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (< "<") (identifier "local_58")) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(piVar11);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(piVar11)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0015b620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0015b620"))) () ")")) (argument_list "(piVar11)" (( "(") (identifier "piVar11") () ")"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "FUN_00127f08(param_1,param_1[4],&local_60);" (call_expression "FUN_00127f08(param_1,param_1[4],&local_60)" (identifier "FUN_00127f08") (argument_list "(param_1,param_1[4],&local_60)" (( "(") (identifier "param_1") (, ",") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")"))) (; ";")) (expression_statement "uVar10 = local_60;" (assignment_expression "uVar10 = local_60" (identifier "uVar10") (= "=") (identifier "local_60")) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));" (call_expression "(*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8))" (parenthesized_expression "(*(code *)PTR_sqlite3_blob_close_0015b868)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_blob_close_0015b868" (* "*") (cast_expression "(code *)PTR_sqlite3_blob_close_0015b868" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_blob_close_0015b868"))) () ")")) (argument_list "(*(undefined4 *)(iVar9 + 0xf8))" (( "(") (pointer_expression "*(undefined4 *)(iVar9 + 0xf8)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xf8)" (( "(") (binary_expression "iVar9 + 0xf8" (identifier "iVar9") (+ "+") (number_literal "0xf8")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0xf8) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0xf8) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0xf8)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xf8)" (( "(") (binary_expression "iVar9 + 0xf8" (identifier "iVar9") (+ "+") (number_literal "0xf8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar10 == 0) {\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            param_1[9] = 0;\n            param_1[8] = 0;\n            param_1[10] = param_1[0xb];\n            goto LAB_001281e4;\n          }" ({ "{") (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[10] = param_1[0xb];" (assignment_expression "param_1[10] = param_1[0xb]" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (goto_statement "goto LAB_001281e4;" (goto "goto") (statement_identifier "LAB_001281e4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }" (else "else") (compound_statement "{\n          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);\n          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);\n          if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }\n          uVar10 = 1;\n          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);\n        }" ({ "{") (expression_statement "uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0015b9c4)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0015b9c4)" (( "(") (pointer_expression "*(code *)PTR_strlen_0015b9c4" (* "*") (cast_expression "(code *)PTR_strlen_0015b9c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0015b9c4"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54)" (identifier "uVar10") (= "=") (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4124))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x4124)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x4124)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x4124)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x4124" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x4124")) () ")")))) () ")")) (argument_list "(ppiVar12,param_3,uVar6,piVar11,&local_54)" (( "(") (identifier "ppiVar12") (, ",") (identifier "param_3") (, ",") (identifier "uVar6") (, ",") (identifier "piVar11") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (if_statement "if (uVar10 == 0) {\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }\n          else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar5 = param_1[4];\n            if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);\n            param_1[4] = 0;\nLAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;\n            piVar8 = param_3;\n          }" ({ "{") (expression_statement "iVar5 = param_1[4];" (assignment_expression "iVar5 = param_1[4]" (identifier "iVar5") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (local_30 == 0) {\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }" (if "if") (parenthesized_expression "(local_30 == 0)" (( "(") (binary_expression "local_30 == 0" (identifier "local_30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }\n              goto LAB_00128570;\n            }" ({ "{") (if_statement "if (iVar5 != 0) {\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);\n                if (uVar10 != 0) goto LAB_0012844c;\n                iVar7 = param_1[4];\n                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);\n                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);\n                iVar5 = (int)uVar14;\n                if (uVar10 != 0) goto LAB_00128450;\n              }" ({ "{") (expression_statement "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);" (assignment_expression "uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc)" (identifier "uVar10") (= "=") (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x4f20))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x4f20)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x4f20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x4f20)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x4f20" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x4f20")) () ")")))) () ")")) (argument_list "(piVar11,0xc)" (( "(") (identifier "piVar11") (, ",") (number_literal "0xc") () ")")))) (; ";")) (if_statement "if (uVar10 != 0) goto LAB_0012844c;" (if "if") (parenthesized_expression "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0012844c;" (goto "goto") (statement_identifier "LAB_0012844c") (; ";"))) (expression_statement "iVar7 = param_1[4];" (assignment_expression "iVar7 = param_1[4]" (identifier "iVar7") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);" (assignment_expression "uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc)" (identifier "uVar14") (= "=") (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x24b4))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x24b4)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b65c + 0x24b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b65c + 0x24b4)" (( "(") (binary_expression "PTR_LAB_0015b65c + 0x24b4" (identifier "PTR_LAB_0015b65c") (+ "+") (number_literal "0x24b4")) () ")")))) () ")")) (argument_list "(iVar7,0xc)" (( "(") (identifier "iVar7") (, ",") (number_literal "0xc") () ")")))) (; ";")) (expression_statement "uVar10 = (uint)((ulonglong)uVar14 >> 0x20);" (assignment_expression "uVar10 = (uint)((ulonglong)uVar14 >> 0x20)" (identifier "uVar10") (= "=") (call_expression "(uint)((ulonglong)uVar14 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar14 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar14")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "iVar5 = (int)uVar14;" (assignment_expression "iVar5 = (int)uVar14" (identifier "iVar5") (= "=") (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14"))) (; ";")) (if_statement "if (uVar10 != 0) goto LAB_00128450;" (if "if") (parenthesized_expression "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00128450;" (goto "goto") (statement_identifier "LAB_00128450") (; ";"))) (} "}"))) (goto_statement "goto LAB_00128570;" (goto "goto") (statement_identifier "LAB_00128570") (; ";")) (} "}"))) (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x3f2c)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x3f2c" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x3f2c")) () ")")))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0012841c:\n            puVar4 = PTR_UINT_0015b5fc + -0x2490;" (statement_identifier "LAB_0012841c") (: ":") (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x2490;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x2490" (identifier "puVar4") (= "=") (binary_expression "PTR_UINT_0015b5fc + -0x2490" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x2490"))) (; ";"))) (expression_statement "piVar8 = param_3;" (assignment_expression "piVar8 = param_3" (identifier "piVar8") (= "=") (identifier "param_3")) (; ";")) (} "}")) (else_clause "else {\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }" (else "else") (compound_statement "{\nLAB_0012844c:\n            iVar7 = param_1[4];\nLAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);\n            param_1[4] = 0;\n            if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }\n            piVar8 = (int *)&DAT_0000000c;\n            puVar4 = PTR_UINT_0015b5fc + -0x24c4;\n          }" ({ "{") (labeled_statement "LAB_0012844c:\n            iVar7 = param_1[4];" (statement_identifier "LAB_0012844c") (: ":") (expression_statement "iVar7 = param_1[4];" (assignment_expression "iVar7 = param_1[4]" (identifier "iVar7") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";"))) (labeled_statement "LAB_00128450:\n            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);" (statement_identifier "LAB_00128450") (: ":") (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x3f2c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x3f2c)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x3f2c" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x3f2c")) () ")")))) () ")")) (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")"))) (; ";"))) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar10 != 0x12) {\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }" (if "if") (parenthesized_expression "(uVar10 != 0x12)" (( "(") (binary_expression "uVar10 != 0x12" (identifier "uVar10") (!= "!=") (number_literal "0x12")) () ")")) (compound_statement "{\n              if (uVar10 != 1) goto LAB_001281f8;\n              goto LAB_0012841c;\n            }" ({ "{") (if_statement "if (uVar10 != 1) goto LAB_001281f8;" (if "if") (parenthesized_expression "(uVar10 != 1)" (( "(") (binary_expression "uVar10 != 1" (identifier "uVar10") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_001281f8;" (goto "goto") (statement_identifier "LAB_001281f8") (; ";"))) (goto_statement "goto LAB_0012841c;" (goto "goto") (statement_identifier "LAB_0012841c") (; ";")) (} "}"))) (expression_statement "piVar8 = (int *)&DAT_0000000c;" (assignment_expression "piVar8 = (int *)&DAT_0000000c" (identifier "piVar8") (= "=") (cast_expression "(int *)&DAT_0000000c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000000c" (& "&") (identifier "DAT_0000000c")))) (; ";")) (expression_statement "puVar4 = PTR_UINT_0015b5fc + -0x24c4;" (assignment_expression "puVar4 = PTR_UINT_0015b5fc + -0x24c4" (identifier "puVar4") (= "=") (binary_expression "PTR_UINT_0015b5fc + -0x24c4" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x24c4"))) (; ";")) (} "}")))) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" (identifier "uVar10") (= "=") (number_literal "1")) (; ";")) (expression_statement "(*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);" (call_expression "(*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8)" (parenthesized_expression "(*(code *)(PTR_DAT_0015b71c + 0x2618))" (( "(") (pointer_expression "*(code *)(PTR_DAT_0015b71c + 0x2618)" (* "*") (cast_expression "(code *)(PTR_DAT_0015b71c + 0x2618)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015b71c + 0x2618)" (( "(") (binary_expression "PTR_DAT_0015b71c + 0x2618" (identifier "PTR_DAT_0015b71c") (+ "+") (number_literal "0x2618")) () ")")))) () ")")) (argument_list "(uVar13,puVar4,piVar8)" (( "(") (identifier "uVar13") (, ",") (identifier "puVar4") (, ",") (identifier "piVar8") () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (labeled_statement "LAB_001281f8:\n    if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }" (statement_identifier "LAB_001281f8") (: ":") (if_statement "if (local_2c == *(int *)puVar2) {\n      return uVar10;\n    }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar2)" (( "(") (binary_expression "local_2c == *(int *)puVar2" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) () ")")) (compound_statement "{\n      return uVar10;\n    }" ({ "{") (return_statement "return uVar10;" (return "return") (identifier "uVar10") (; ";")) (} "}")))) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0015ba10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00128814:\n    uVar14 = 0x8000000000000000;" (statement_identifier "LAB_00128814") (: ":") (expression_statement "uVar14 = 0x8000000000000000;" (assignment_expression "uVar14 = 0x8000000000000000" (identifier "uVar14") (= "=") (number_literal "0x8000000000000000")) (; ";"))) (labeled_statement "LAB_001282e8:\n    *(undefined8 *)(param_1 + 0x12) = uVar14;" (statement_identifier "LAB_001282e8") (: ":") (expression_statement "*(undefined8 *)(param_1 + 0x12) = uVar14;" (assignment_expression "*(undefined8 *)(param_1 + 0x12) = uVar14" (pointer_expression "*(undefined8 *)(param_1 + 0x12)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x12)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x12)" (( "(") (binary_expression "param_1 + 0x12" (identifier "param_1") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (identifier "uVar14")) (; ";"))) (if_statement "if (ppiVar12 == (int **)0x0) {\n      uVar14 = 0x7fffffffffffffff;\n    }\n    else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }" (if "if") (parenthesized_expression "(ppiVar12 == (int **)0x0)" (( "(") (binary_expression "ppiVar12 == (int **)0x0" (identifier "ppiVar12") (== "==") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      uVar14 = 0x7fffffffffffffff;\n    }" ({ "{") (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" (identifier "uVar14") (= "=") (number_literal "0x7fffffffffffffff")) (; ";")) (} "}")) (else_clause "else {\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }" (else "else") (compound_statement "{\n      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);\n      uVar14 = 0x7fffffffffffffff;\n      if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }\n    }" ({ "{") (expression_statement "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_numeric_type_0015b730)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_value_numeric_type_0015b730" (* "*") (cast_expression "(code *)PTR_sqlite3_value_numeric_type_0015b730" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_value_numeric_type_0015b730"))) () ")")) (argument_list "(ppiVar12)" (( "(") (identifier "ppiVar12") () ")")))) (; ";")) (expression_statement "uVar14 = 0x7fffffffffffffff;" (assignment_expression "uVar14 = 0x7fffffffffffffff" (identifier "uVar14") (= "=") (number_literal "0x7fffffffffffffff")) (; ";")) (if_statement "if (iVar5 == 1) {\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }" (if "if") (parenthesized_expression "(iVar5 == 1)" (( "(") (binary_expression "iVar5 == 1" (identifier "iVar5") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);\n      }" ({ "{") (expression_statement "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);" (assignment_expression "uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12)" (identifier "uVar14") (= "=") (call_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_int64_0015b608)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_value_int64_0015b608" (* "*") (cast_expression "(code *)PTR_sqlite3_value_int64_0015b608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_value_int64_0015b608"))) () ")")) (argument_list "(ppiVar12)" (( "(") (identifier "ppiVar12") () ")")))) (; ";")) (} "}"))) (} "}")))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}")))

int function_1(type_1 *var_7,int var_1,char *idxStr,int nVal,
                    type_2 **apVal)

{
  char var_9;
  type_3 *puVar2;
  int var_26;
  type_4 var_3;
  type_3 *puVar5;
  int var_6;
  type_5 uVar7;
  type_6 *var_23;
  type_7 *var_11;
  type_7 *psVar9;
  type_4 var_2;
  type_2 *var_5;
  type_2 *var_8;
  type_2 *var_13;
  type_2 *psVar12;
  type_8 uVar13;
  type_2 *psStack_64;
  int var_15;
  int var_16;
  int var_17;
  int var_19;
  type_9 sParse;
  
  puVar2 = PTR___stack_chk_guard_0015ba2c;
  var_2 = var_1 & 0xffff;
  psVar9 = var_7->pVtab;
  var_26 = *(int *)PTR___stack_chk_guard_0015ba2c;
  if (var_2 == 0) {
    psStack_64 = (type_2 *)0x0;
  }
  else {
    psStack_64 = *apVal;
  }
  var_3 = (type_4)(var_2 != 0);
  if (var_1 << 0xf < 0) {
    var_13 = apVal[var_3];
    var_3 = var_3 + 1;
    if (var_1 << 0xe < 0) goto LAB_00128240;
LAB_001280e8:
    if (var_1 << 0xd < 0) {
      var_5 = (type_2 *)0x0;
      var_8 = apVal[var_3];
      (*(type_10 *)(var_4 + 0x79e0))(var_7);
      uVar13 = 0x8000000000000000;
      goto LAB_001282e8;
    }
    (*(type_10 *)(var_4 + 0x79e0))(var_7);
  }
  else {
    var_13 = (type_2 *)0x0;
    if (-1 < var_1 << 0xe) goto LAB_001280e8;
LAB_00128240:
    var_5 = apVal[var_3];
    if (var_1 << 0xd < 0) {
      var_8 = apVal[var_3 + 1];
      (*(type_10 *)(var_4 + 0x79e0))(var_7);
      if (var_5 == (type_2 *)0x0) goto LAB_00128814;
      var_6 = (*(type_10 *)PTR_sqlite3_value_numeric_type_0015b730)(var_5);
      uVar13 = 0x8000000000000000;
      if (var_6 != 1) goto LAB_001282e8;
LAB_0012829c:
      uVar13 = (*(type_10 *)PTR_sqlite3_value_int64_0015b608)(var_5);
      goto LAB_001282e8;
    }
    (*(type_10 *)(var_4 + 0x79e0))(var_7);
    if (var_5 != (type_2 *)0x0) {
      var_6 = (*(type_10 *)PTR_sqlite3_value_numeric_type_0015b730)(var_5);
      if (var_6 == 1) {
        var_8 = (type_2 *)0x0;
        goto LAB_0012829c;
      }
      var_7[0x13].pVtab = (type_7 *)0x0;
      var_8 = (type_2 *)0x0;
      var_7[0x12].pVtab = (type_7 *)0x80000000;
      uVar13 = 0x7fffffffffffffff;
      goto LAB_00128128;
    }
  }
  var_7[0x13].pVtab = (type_7 *)0x0;
  var_5 = (type_2 *)0x0;
  var_7[0x12].pVtab = (type_7 *)0x80000000;
  var_8 = (type_2 *)0x0;
  uVar13 = 0x7fffffffffffffff;
LAB_00128128:
  do {
    *(type_8 *)(var_7 + 0x14) = uVar13;
    if ((type_7 *)idxStr == (type_7 *)0x0) {
      var_9 = (char)psVar9[0x13].nRef;
    }
    else {
      var_9 = *(char *)&((type_7 *)idxStr)->pModule == 'D';
    }
    *(char *)&var_7[0xd].pVtab = var_9;
    *(short *)&var_7[1].pVtab = (short)var_1;
    if ((var_1 & 0xfffeU) == 0) {
      if (var_2 == 0) {
        if ((var_5 == (type_2 *)0x0) && (var_8 == (type_2 *)0x0)) {
          if (var_9 == '\0') {
            puVar5 = var_10 + -0x48b4;
          }
          else {
            puVar5 = var_10 + -0x51b0;
          }
          var_6 = (*(type_10 *)PTR_sqlite3_mprintf_0015b628)
                            (var_10 + -0x242c,psVar9[0x12].nRef,puVar5);
        }
        else {
          if (var_9 == '\0') {
            puVar5 = var_10 + -0x48b4;
          }
          else {
            puVar5 = var_10 + -0x51b0;
          }
          var_6 = (*(type_10 *)PTR_sqlite3_mprintf_0015b628)
                            (var_10 + -0x246c,psVar9[0x12].nRef,var_7[0x12].pVtab,
                             var_7[0x13].pVtab,uVar13,puVar5);
        }
        if (var_6 == 0) goto LAB_00128540;
        var_2 = (*(type_10 *)PTR_sqlite3_prepare_v3_0015b8a0)
                           (psVar9[1].pModule,var_6,0xffffffff,1,var_7 + 3,0);
        (*(type_10 *)PTR_sqlite3_free_0015b620)(var_6);
LAB_001281d8:
        if (var_2 != 0) goto LAB_001281f8;
      }
      else if (var_2 == 1) {
        var_11 = var_7[3].pVtab;
        if (var_11 == (type_7 *)0x0) {
          var_2 = (*(type_10 *)(var_12 + -0x7e8c))(var_7);
          if (var_2 != 0) goto LAB_001281f8;
          var_11 = var_7[3].pVtab;
        }
        var_2 = (*(type_10 *)PTR_sqlite3_bind_value_0015b80c)(var_11,1,psStack_64);
        goto LAB_001281d8;
      }
LAB_001281e4:
      var_2 = (*(type_10 *)(var_12 + 0x7a84))(var_7);
    }
    else {
      idxStr = (char *)(*(type_10 *)PTR_sqlite3_value_text_0015b614)(psStack_64);
      if (((type_7 *)idxStr == (type_7 *)0x0) &&
         (var_6 = (*(type_10 *)PTR_sqlite3_value_type_0015b5f8)(psStack_64), var_6 != 5)) {
LAB_00128540:
        var_2 = 7;
      }
      else {
        var_7[5].pVtab = (type_7 *)0x0;
        if (var_13 == (type_2 *)0x0) {
          sParse.iLangid = 0;
        }
        else {
          sParse.iLangid = (*(type_10 *)PTR_sqlite3_value_int_0015b734)(var_13);
          var_7[5].pVtab = (type_7 *)sParse.iLangid;
        }
        sParse.pTokenizer = (type_11 *)psVar9[3].pModule;
        var_5 = (type_2 *)(var_7 + 4);
        sParse.azCol = (char **)psVar9[2].nRef;
        var_13 = (type_2 *)&psVar9->zErrMsg;
        sParse.bFts4 = (int)*(type_12 *)&psVar9[0x13].nRef;
        var_8 = (type_2 *)&sParse;
        sParse.nCol = (int)psVar9[2].pModule;
        sParse.isNot = 0;
        sParse.pCtx = (type_13 *)0x0;
        sParse.nNest = 0;
        sParse.iDefaultCol = var_2 - 2;
        if ((type_7 *)idxStr == (type_7 *)0x0) {
          var_7[4].pVtab = (type_7 *)0x0;
          var_23 = (type_6 *)0x0;
LAB_00128570:
          idxStr = (char *)var_7->pVtab;
          var_15 = 0;
          var_16 = 0;
          var_17 = 0;
          var_14((type_14 *)var_7,var_23,&var_16,&var_17,&var_15);
          if (((var_15 == 0) && (1 < var_16)) &&
             (*(char *)&((type_7 *)((int)idxStr + 0xe4))->nRef != '\0')) {
            var_5 = (type_2 *)
                  (*(type_10 *)PTR_sqlite3_malloc64_0015b760)(0,(var_16 * 3 + var_17) * 8);
            if (var_5 == (type_2 *)0x0) {
              var_15 = 7;
            }
            else {
              idxStr = (char *)(&var_5->u + var_16 * 3);
              var_19 = (int)var_5;
              sParse.pTokenizer = (type_11 *)idxStr;
              var_18((type_14 *)var_7,(type_6 *)0x0,(type_6 *)var_7[4].pVtab,
                                 (type_15 **)&var_19,(type_6 ***)var_8,&var_15);
              var_17 = (int)sParse.pTokenizer - (int)idxStr >> 2;
              var_16 = (var_19 - (int)var_5 >> 3) * -0x55555555;
              if (var_15 == 0) {
                var_8 = (type_2 *)(var_20 + 0x5750);
                var_15 = var_21
                               ((type_14 *)var_7,(type_6 *)0x0,(type_15 *)var_5,var_16
                               );
                var_13 = (type_2 *)var_15;
                if (((type_2 *)var_15 == (type_2 *)0x0) &&
                   (psVar12 = (type_2 *)0x0, 0 < var_17)) {
                  do {
                    var_15 = 0;
                    psVar12 = (type_2 *)((int)&psVar12->u + 1);
                    var_15 = var_21
                                   ((type_14 *)var_7,
                                    (type_6 *)((type_7 *)idxStr)->pModule,
                                    (type_15 *)var_5,var_16);
                    var_13 = psVar12;
                    if (var_15 != 0) break;
                    idxStr = (char *)&((type_7 *)idxStr)->nRef;
                  } while ((int)psVar12 < var_17);
                }
              }
              (*(type_10 *)PTR_sqlite3_free_0015b620)(var_5);
            }
          }
          var_22((type_14 *)var_7,(type_6 *)var_7[4].pVtab,&var_15);
          var_2 = var_15;
          (*(type_10 *)PTR_sqlite3_blob_close_0015b868)(psVar9[0x14].zErrMsg);
          psVar9[0x14].zErrMsg = (char *)0x0;
          if (var_2 == 0) {
            var_7[9].pVtab = (type_7 *)0x0;
            var_7[8].pVtab = (type_7 *)0x0;
            var_7[10].pVtab = var_7[0xb].pVtab;
            goto LAB_001281e4;
          }
        }
        else {
          uVar7 = (*(type_10 *)PTR_strlen_0015b9c4)(idxStr);
          var_2 = (*(type_10 *)(var_4 + 0x4124))(var_8,idxStr,uVar7,var_5,&var_19);
          if (var_2 == 0) {
            var_23 = (type_6 *)var_7[4].pVtab;
            if (sParse.nNest == 0) {
              if (var_23 != (type_6 *)0x0) {
                var_2 = (*(type_10 *)(var_4 + 0x4f20))(var_5,0xc);
                if (var_2 != 0) goto LAB_0012844c;
                var_11 = var_7[4].pVtab;
                uVar13 = (*(type_10 *)(var_24 + 0x24b4))(var_11,0xc);
                var_2 = (type_4)((type_16)uVar13 >> 0x20);
                var_23 = (type_6 *)uVar13;
                if (var_2 != 0) goto LAB_00128450;
              }
              goto LAB_00128570;
            }
            (*(type_10 *)(var_4 + 0x3f2c))(var_23);
            var_7[4].pVtab = (type_7 *)0x0;
LAB_0012841c:
            puVar5 = var_10 + -0x2490;
            var_11 = (type_7 *)idxStr;
          }
          else {
LAB_0012844c:
            var_11 = var_7[4].pVtab;
LAB_00128450:
            (*(type_10 *)(var_4 + 0x3f2c))(var_11);
            var_7[4].pVtab = (type_7 *)0x0;
            if (var_2 != 0x12) {
              if (var_2 != 1) goto LAB_001281f8;
              goto LAB_0012841c;
            }
            var_11 = (type_7 *)&DAT_0000000c;
            puVar5 = var_10 + -0x24c4;
          }
          var_2 = 1;
          (*(type_10 *)(var_25 + 0x2618))(var_13,puVar5,var_11);
        }
      }
    }
LAB_001281f8:
    if (var_26 == *(int *)puVar2) {
      return var_2;
    }
    (*(type_10 *)PTR___stack_chk_fail_0015ba10)();
LAB_00128814:
    uVar13 = 0x8000000000000000;
LAB_001282e8:
    *(type_8 *)(var_7 + 0x12) = uVar13;
    if (var_8 == (type_2 *)0x0) {
      uVar13 = 0x7fffffffffffffff;
    }
    else {
      var_6 = (*(type_10 *)PTR_sqlite3_value_numeric_type_0015b730)(var_8);
      uVar13 = 0x7fffffffffffffff;
      if (var_6 == 1) {
        uVar13 = (*(type_10 *)PTR_sqlite3_value_int64_0015b608)(var_8);
      }
    }
  } while( true );
}


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

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

{
  char cVar1;
  undefined *puVar2;
  uint uVar3;
  undefined *puVar4;
  int iVar5;
  undefined4 uVar6;
  int iVar7;
  int *piVar8;
  int iVar9;
  uint uVar10;
  int *piVar11;
  int **ppiVar12;
  uint uVar13;
  undefined8 uVar14;
  undefined4 local_64;
  uint local_60;
  int local_5c;
  int local_58;
  int *local_54;
  int *local_50;
  int local_4c;
  undefined4 local_48;
  uint local_44;
  undefined4 local_40;
  int local_3c;
  undefined4 local_38;
  undefined4 local_34;
  int local_30;
  int local_2c;
  
  puVar2 = PTR___stack_chk_guard_0015ba2c;
  uVar10 = param_2 & 0xffff;
  iVar9 = *param_1;
  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;
  if (uVar10 == 0) {
    local_64 = 0;
  }
  else {
    local_64 = *param_5;
  }
  uVar3 = (uint)(uVar10 != 0);
  if ((int)(param_2 << 0xf) < 0) {
    uVar13 = param_5[uVar3];
    uVar3 = uVar3 + 1;
    if ((int)(param_2 << 0xe) < 0) goto LAB_00128240;
LAB_001280e8:
    if ((int)(param_2 << 0xd) < 0) {
      piVar11 = (int *)0x0;
      ppiVar12 = (int **)param_5[uVar3];
      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);
      uVar14 = 0x8000000000000000;
      goto LAB_001282e8;
    }
    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);
  }
  else {
    uVar13 = 0;
    if (-1 < (int)(param_2 << 0xe)) goto LAB_001280e8;
LAB_00128240:
    piVar11 = (int *)param_5[uVar3];
    if ((int)(param_2 << 0xd) < 0) {
      ppiVar12 = (int **)param_5[uVar3 + 1];
      (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);
      if (piVar11 == (int *)0x0) goto LAB_00128814;
      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);
      uVar14 = 0x8000000000000000;
      if (iVar5 != 1) goto LAB_001282e8;
LAB_0012829c:
      uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(piVar11);
      goto LAB_001282e8;
    }
    (*(code *)(PTR_LAB_0015b6f8 + 0x79e0))(param_1);
    if (piVar11 != (int *)0x0) {
      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(piVar11);
      if (iVar5 == 1) {
        ppiVar12 = (int **)0x0;
        goto LAB_0012829c;
      }
      param_1[0x13] = 0;
      ppiVar12 = (int **)0x0;
      param_1[0x12] = -0x80000000;
      uVar14 = 0x7fffffffffffffff;
      goto LAB_00128128;
    }
  }
  param_1[0x13] = 0;
  piVar11 = (int *)0x0;
  param_1[0x12] = -0x80000000;
  ppiVar12 = (int **)0x0;
  uVar14 = 0x7fffffffffffffff;
LAB_00128128:
  do {
    *(undefined8 *)(param_1 + 0x14) = uVar14;
    if (param_3 == (int *)0x0) {
      cVar1 = *(char *)(iVar9 + 0xeb);
    }
    else {
      cVar1 = *(char *)param_3 == 'D';
    }
    *(char *)(param_1 + 0xd) = cVar1;
    *(short *)(param_1 + 1) = (short)param_2;
    if ((param_2 & 0xfffe) == 0) {
      if (uVar10 == 0) {
        if ((piVar11 == (int *)0x0) && (ppiVar12 == (int **)0x0)) {
          if (cVar1 == '\0') {
            puVar4 = PTR_UINT_0015b5fc + -0x48b4;
          }
          else {
            puVar4 = PTR_UINT_0015b5fc + -0x51b0;
          }
          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)
                            (PTR_UINT_0015b5fc + -0x242c,*(undefined4 *)(iVar9 + 0xdc),puVar4);
        }
        else {
          if (cVar1 == '\0') {
            puVar4 = PTR_UINT_0015b5fc + -0x48b4;
          }
          else {
            puVar4 = PTR_UINT_0015b5fc + -0x51b0;
          }
          iVar5 = (*(code *)PTR_sqlite3_mprintf_0015b628)
                            (PTR_UINT_0015b5fc + -0x246c,*(undefined4 *)(iVar9 + 0xdc),param_1[0x12]
                             ,param_1[0x13],uVar14,puVar4);
        }
        if (iVar5 == 0) goto LAB_00128540;
        uVar10 = (*(code *)PTR_sqlite3_prepare_v3_0015b8a0)
                           (*(undefined4 *)(iVar9 + 0xc),iVar5,0xffffffff,1,param_1 + 3,0);
        (*(code *)PTR_sqlite3_free_0015b620)(iVar5);
LAB_001281d8:
        if (uVar10 != 0) goto LAB_001281f8;
      }
      else if (uVar10 == 1) {
        iVar5 = param_1[3];
        if (iVar5 == 0) {
          uVar10 = (*(code *)(PTR_LAB_0015b6d0 + -0x7e8c))(param_1);
          if (uVar10 != 0) goto LAB_001281f8;
          iVar5 = param_1[3];
        }
        uVar10 = (*(code *)PTR_sqlite3_bind_value_0015b80c)(iVar5,1,local_64);
        goto LAB_001281d8;
      }
LAB_001281e4:
      uVar10 = (*(code *)(PTR_LAB_0015b6d0 + 0x7a84))(param_1);
    }
    else {
      param_3 = (int *)(*(code *)PTR_sqlite3_value_text_0015b614)(local_64);
      if ((param_3 == (int *)0x0) &&
         (iVar5 = (*(code *)PTR_sqlite3_value_type_0015b5f8)(local_64), iVar5 != 5)) {
LAB_00128540:
        uVar10 = 7;
      }
      else {
        param_1[5] = 0;
        if (uVar13 == 0) {
          local_4c = 0;
        }
        else {
          local_4c = (*(code *)PTR_sqlite3_value_int_0015b734)(uVar13);
          param_1[5] = local_4c;
        }
        local_50 = *(int **)(iVar9 + 0x24);
        piVar11 = param_1 + 4;
        local_48 = *(undefined4 *)(iVar9 + 0x1c);
        uVar13 = iVar9 + 8;
        local_44 = (uint)*(byte *)(iVar9 + 0xe8);
        ppiVar12 = &local_50;
        local_40 = *(undefined4 *)(iVar9 + 0x18);
        local_38 = 0;
        local_34 = 0;
        local_30 = 0;
        local_3c = uVar10 - 2;
        if (param_3 == (int *)0x0) {
          param_1[4] = 0;
          iVar5 = 0;
LAB_00128570:
          param_3 = (int *)*param_1;
          local_60 = 0;
          local_5c = 0;
          local_58 = 0;
          FUN_0011d220(param_1,iVar5,&local_5c,&local_58,&local_60);
          if (((local_60 == 0) && (1 < local_5c)) && (*(char *)(param_3 + 0x3a) != '\0')) {
            piVar11 = (int *)(*(code *)PTR_sqlite3_malloc64_0015b760)
                                       (0,(local_5c * 3 + local_58) * 8);
            if (piVar11 == (int *)0x0) {
              local_60 = 7;
            }
            else {
              param_3 = piVar11 + local_5c * 6;
              local_54 = piVar11;
              local_50 = param_3;
              FUN_0011d568(param_1,0,param_1[4],&local_54,ppiVar12,&local_60);
              local_58 = (int)local_50 - (int)param_3 >> 2;
              local_5c = ((int)local_54 - (int)piVar11 >> 3) * -0x55555555;
              if (local_60 == 0) {
                ppiVar12 = (int **)(PTR_LAB_0015b6d4 + 0x5750);
                local_60 = FUN_00125750(param_1,0,piVar11);
                uVar13 = local_60;
                if ((local_60 == 0) && (uVar10 = 0, 0 < local_58)) {
                  do {
                    local_60 = 0;
                    uVar10 = uVar10 + 1;
                    local_60 = FUN_00125750(param_1,*param_3,piVar11,local_5c);
                    uVar13 = uVar10;
                    if (local_60 != 0) break;
                    param_3 = param_3 + 1;
                  } while ((int)uVar10 < local_58);
                }
              }
              (*(code *)PTR_sqlite3_free_0015b620)(piVar11);
            }
          }
          FUN_00127f08(param_1,param_1[4],&local_60);
          uVar10 = local_60;
          (*(code *)PTR_sqlite3_blob_close_0015b868)(*(undefined4 *)(iVar9 + 0xf8));
          *(undefined4 *)(iVar9 + 0xf8) = 0;
          if (uVar10 == 0) {
            param_1[9] = 0;
            param_1[8] = 0;
            param_1[10] = param_1[0xb];
            goto LAB_001281e4;
          }
        }
        else {
          uVar6 = (*(code *)PTR_strlen_0015b9c4)(param_3);
          uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4124))(ppiVar12,param_3,uVar6,piVar11,&local_54);
          if (uVar10 == 0) {
            iVar5 = param_1[4];
            if (local_30 == 0) {
              if (iVar5 != 0) {
                uVar10 = (*(code *)(PTR_LAB_0015b6f8 + 0x4f20))(piVar11,0xc);
                if (uVar10 != 0) goto LAB_0012844c;
                iVar7 = param_1[4];
                uVar14 = (*(code *)(PTR_LAB_0015b65c + 0x24b4))(iVar7,0xc);
                uVar10 = (uint)((ulonglong)uVar14 >> 0x20);
                iVar5 = (int)uVar14;
                if (uVar10 != 0) goto LAB_00128450;
              }
              goto LAB_00128570;
            }
            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar5);
            param_1[4] = 0;
LAB_0012841c:
            puVar4 = PTR_UINT_0015b5fc + -0x2490;
            piVar8 = param_3;
          }
          else {
LAB_0012844c:
            iVar7 = param_1[4];
LAB_00128450:
            (*(code *)(PTR_LAB_0015b6f8 + 0x3f2c))(iVar7);
            param_1[4] = 0;
            if (uVar10 != 0x12) {
              if (uVar10 != 1) goto LAB_001281f8;
              goto LAB_0012841c;
            }
            piVar8 = (int *)&DAT_0000000c;
            puVar4 = PTR_UINT_0015b5fc + -0x24c4;
          }
          uVar10 = 1;
          (*(code *)(PTR_DAT_0015b71c + 0x2618))(uVar13,puVar4,piVar8);
        }
      }
    }
LAB_001281f8:
    if (local_2c == *(int *)puVar2) {
      return uVar10;
    }
    (*(code *)PTR___stack_chk_fail_0015ba10)();
LAB_00128814:
    uVar14 = 0x8000000000000000;
LAB_001282e8:
    *(undefined8 *)(param_1 + 0x12) = uVar14;
    if (ppiVar12 == (int **)0x0) {
      uVar14 = 0x7fffffffffffffff;
    }
    else {
      iVar5 = (*(code *)PTR_sqlite3_value_numeric_type_0015b730)(ppiVar12);
      uVar14 = 0x7fffffffffffffff;
      if (iVar5 == 1) {
        uVar14 = (*(code *)PTR_sqlite3_value_int64_0015b608)(ppiVar12);
      }
    }
  } while( true );
}

